[all-commits] [llvm/llvm-project] 68342e: [mlir][bazel] Fix for 513cdb82223a106f183b49a40d9a...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Tue Mar 26 20:41:49 PDT 2024
Branch: refs/heads/users/MaskRay/spr/llvm-objcopy-add-compress-sections
Home: https://github.com/llvm/llvm-project
Commit: 68342ed1ac90a2a9a18762add1db69df194820bb
https://github.com/llvm/llvm-project/commit/68342ed1ac90a2a9a18762add1db69df194820bb
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix for 513cdb82223a106f183b49a40d9acb1f7efbbe7e. (#85617)
Follow-up from https://github.com/llvm/llvm-project/pull/85604, this
change also fixes the ArithDialect target.
Commit: 7fad304a0310836c88aefd2a01f825e70bb14aed
https://github.com/llvm/llvm-project/commit/7fad304a0310836c88aefd2a01f825e70bb14aed
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/test/CodeGen/AArch64/sme-call-streaming-compatible-to-normal-fn-wihout-sme-attr.ll
Log Message:
-----------
[AArch64][SME] Make coalescer barrier available without +sme. (#85311)
For each call that changes the streaming-mode ISel inserts a
COALESCER_BARRIER node for the FP and (non-scalable) vector arguments to
the callee.
When calling a non-streaming function from a streaming-compatible
function, it's not required to have +sme (in case the SME code-path is
not actually executed at runtime). The patterns to match the
COALESCER_BARRIER however were still predicated with `HasSME`, which is
incorrect. This patch tries to fix that.
Commit: 87cee71b3738547465481740fcbde7d73283678f
https://github.com/llvm/llvm-project/commit/87cee71b3738547465481740fcbde7d73283678f
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
A flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
A flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
A flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
Log Message:
-----------
[flang][MLIR][OpenMP] Extend delayed privatization for scalar allocatables and pointers (#84740)
One more step in extending support for delayed privatization. This diff
adds support for scalar allocatables and pointers.
Commit: 0d313ee3938758b3f2026fdb28497567d1023d9d
https://github.com/llvm/llvm-project/commit/0d313ee3938758b3f2026fdb28497567d1023d9d
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port dbbdee2ea2156170062813fb3d7f2c023d65e02d
Commit: 3ab1481f9aea30fd994d887c9e0801db6a219a31
https://github.com/llvm/llvm-project/commit/3ab1481f9aea30fd994d887c9e0801db6a219a31
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Log Message:
-----------
[RemoveDIs] Use getFirstNonPHIIt to fix crash #85472 (#85618)
Commit: 40d29537fcea7db91f39c0d7bc7feeb499b8e627
https://github.com/llvm/llvm-project/commit/40d29537fcea7db91f39c0d7bc7feeb499b8e627
Author: Christian Sigg <csigg at google.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix BUILD after dbbdee2ea2156170062813fb3d7f2c023d65e02d.
Commit: 6f60ad7e9a3508f19d54c827cf11f7930a0685ee
https://github.com/llvm/llvm-project/commit/6f60ad7e9a3508f19d54c827cf11f7930a0685ee
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/test/CodeGenObjC/debug-info-blocks.m
Log Message:
-----------
[RemoveDIs] Update Clang front end to handle DbgRecords (#84756)
This patch fixes problems that pop up when clang emits DbgRecords
instead of debug intrinsics.
Note: this doesn't mean clang is emitting DbgRecords yet, because the
modules it creates are still always in the old debug mode. That will
come in a future patch.
Depends on #84739
Commit: b097b3dc2ba2517621a5e3da3237a77ed0e7586f
https://github.com/llvm/llvm-project/commit/b097b3dc2ba2517621a5e3da3237a77ed0e7586f
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
Log Message:
-----------
Fix formatting in #84756
Commit: 3e4170a587adb789b77ede799d09139b50ebe5bc
https://github.com/llvm/llvm-project/commit/3e4170a587adb789b77ede799d09139b50ebe5bc
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
Log Message:
-----------
Revert "Fix formatting in #84756"
This reverts commit b097b3dc2ba2517621a5e3da3237a77ed0e7586f.
Buildbots: https://lab.llvm.org/buildbot/#/builders/196/builds/47206
Commit: 92122b0b4b514ea6c081e428f47ef1bf9d4f0f17
https://github.com/llvm/llvm-project/commit/92122b0b4b514ea6c081e428f47ef1bf9d4f0f17
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/test/CodeGenObjC/debug-info-blocks.m
Log Message:
-----------
Revert "[RemoveDIs] Update Clang front end to handle DbgRecords (#84756)"
This reverts commit 6f60ad7e9a3508f19d54c827cf11f7930a0685ee.
Buildbots: https://lab.llvm.org/buildbot/#/builders/196/builds/47206
Commit: 3493438605079c001b554327c02a4432204aab69
https://github.com/llvm/llvm-project/commit/3493438605079c001b554327c02a4432204aab69
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
R llvm/test/CodeGen/AMDGPU/lto-lower-module-lds.ll
Log Message:
-----------
Revert "[AMDGPU] Run LowerLDS at the end of the fullLTO pipeline (#75333)"
This reverts commit 9b98692eedb78aa106539c36ba02944f32cae1ff.
Commit: f362e12aab9ce07b836a2622fc987cda8b6ab6f8
https://github.com/llvm/llvm-project/commit/f362e12aab9ce07b836a2622fc987cda8b6ab6f8
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/Format/FormatInternal.h
Log Message:
-----------
[clang-format] Make header self-contained
These includes were removed in 426e6945897afbec01c042bec4771522a2aac176
Commit: 38a44bdc93db5b00310230f6542df39017b9a41b
https://github.com/llvm/llvm-project/commit/38a44bdc93db5b00310230f6542df39017b9a41b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/AArch64/isinf.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/CodeGen/PowerPC/fp-classify.ll
A llvm/test/Transforms/CodeGenPrepare/AArch64/fpclass-test.ll
A llvm/test/Transforms/CodeGenPrepare/RISCV/fpclass-test.ll
A llvm/test/Transforms/CodeGenPrepare/X86/fpclass-test.ll
Log Message:
-----------
[CodeGenPrepare] Reverse the canonicalization of isInf/isNanOrInf (#81572)
In commit
https://github.com/llvm/llvm-project/commit/2b582440c16c72b6b021ea5c212ceda3bdfb2b9b,
we canonicalize the isInf/isNanOrInf idiom into fabs+fcmp for better
analysis/codegen (See also the discussion in
https://github.com/llvm/llvm-project/pull/76338).
This patch reverses the fabs+fcmp to `is.fpclass`. If the `is.fpclass`
is not supported by the target, it will be expanded by TLI.
Fixes the regression introduced by
https://github.com/llvm/llvm-project/commit/2b582440c16c72b6b021ea5c212ceda3bdfb2b9b
and
https://github.com/llvm/llvm-project/pull/80414#issuecomment-1936374206.
Commit: 59f34e8c2b5463dcf39fbafffeb30a84ef7b6887
https://github.com/llvm/llvm-project/commit/59f34e8c2b5463dcf39fbafffeb30a84ef7b6887
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/MC/SPIRVObjectWriter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/test/CodeGen/SPIRV/ComparePointers.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars_arithmetics.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars_opt.ll
Log Message:
-----------
[SPIRV] Add Lifetime intrinsics/instructions (#85391)
This PR:
* adds Lifetime intrinsics/instructions
* fixes how the binary header is emitted (correct version and better
approximation of Bound)
* add validation into more test cases
Commit: 3e6db602918435b6a5ac476f63f8b259e7e73af4
https://github.com/llvm/llvm-project/commit/3e6db602918435b6a5ac476f63f8b259e7e73af4
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/test/CodeGenObjC/debug-info-blocks.m
Log Message:
-----------
[RemoveDIs] Update Clang front end to handle DbgRecords (#84756)
This patch fixes problems that pop up when clang emits DbgRecords
instead of debug intrinsics.
Note: this doesn't mean clang is emitting DbgRecords yet, because the
modules it creates are still always in the old debug mode. That will
come in a future patch.
Depends on #84739
Commit: 295cdd5c3dbd14406bf9cce01e3dfd787fb1ddda
https://github.com/llvm/llvm-project/commit/295cdd5c3dbd14406bf9cce01e3dfd787fb1ddda
Author: Alfie Richards <156316945+AlfieRichardsArm at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/include/llvm/Target/Target.td
M llvm/lib/Target/ARM/ARM.td
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/test/MC/ARM/arm-branch-errors.s
M llvm/test/MC/ARM/arm11-hint-instr.s
M llvm/test/MC/ARM/cde-fp-vec.s
M llvm/test/MC/ARM/cde-vec-pred.s
M llvm/test/MC/ARM/cps.s
M llvm/test/MC/ARM/diagnostics.s
M llvm/test/MC/ARM/directive-arch_extension-crypto.s
M llvm/test/MC/ARM/invalid-fp-armv8.s
M llvm/test/MC/ARM/lsl-zero-errors.s
M llvm/test/MC/ARM/mve-load-store.s
M llvm/test/MC/ARM/mve-misc.s
M llvm/test/MC/ARM/neon-complex.s
M llvm/test/MC/ARM/no-mve.s
M llvm/test/MC/ARM/not-armv4.s
M llvm/test/MC/ARM/register-token-source-loc.s
M llvm/test/MC/ARM/tMOVSr.s
M llvm/test/MC/ARM/thumb-diagnostics.s
M llvm/test/MC/ARM/thumb-mov.s
M llvm/test/MC/ARM/thumb2-diagnostics.s
M llvm/test/MC/ARM/vfp4.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-basic-instructions.s
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[ARM][TableGen][MC] Change the ARM mnemonic operands to be optional for ASM parsing (#83436)
This changs the way the assembly matcher works for Aarch32 parsing.
Previously there was a pile of hacks which dictated whether the CC,
CCOut, and VCC operands should be present which de-facto chose if the
wide/narrow (or thumb1/thumb2/arm) instruction version were chosen.
This meant much of the TableGen machinery present for the assembly
matching was effectively being bypassed and worked around.
This patch makes the CC and CCOut operands optional which allows the ASM
matcher operate as it was designed and means we can avoid doing some of
the hacks done previously. This also adds the option for the target to
allow the prioritizing the smaller instruction encodings as is required
for Aarch32.
Commit: a60deaa2046b2aafc4ba2542d6ad42b80af054b0
https://github.com/llvm/llvm-project/commit/a60deaa2046b2aafc4ba2542d6ad42b80af054b0
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/test/Transforms/ConstantHoisting/AArch64/large-immediate.ll
Log Message:
-----------
[ConstantHoisting] Don't attempt to hoist ConstantInt vectors. (#85416)
The pass uses the TTI hook getIntImmCostIntrin that only supports scalar
integer types. Whilst hoisting expensive vector constant is likely
worthwhile, this is new behaviour and so I've followed the path taken by
the GEP variant of collectConstantCandidates and simply bail for vector
types.
Commit: f0dbcfe3526e2d8e1c4863828877ac21e08023a0
https://github.com/llvm/llvm-project/commit/f0dbcfe3526e2d8e1c4863828877ac21e08023a0
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/include/llvm-c/Core.h
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm-c/Types.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/tools/llvm-c-test/debuginfo.c
M llvm/tools/llvm-c-test/llvm-c-test.h
M llvm/tools/llvm-c-test/main.c
Log Message:
-----------
[RemoveDIs] Update DIBuilder C API with DbgRecord functions [1/2] (#84915)
Follow on from #84739, which updates the DIBuilder class.
All the functions that have been added are temporary and will be
deprecated in the future. The intention is that they'll help downstream
projects adapt during the transition period.
```
New functions (all to be deprecated)
------------------------------------
LLVMIsNewDbgInfoFormat # Returns true if the module is in the new non-instruction mode.
LLVMSetIsNewDbgInfoFormat # Convert to the requested debug info format.
LLVMDIBuilderInsertDeclareIntrinsicBefore # Insert a debug intrinsic (old debug info format).
LLVMDIBuilderInsertDeclareIntrinsicAtEnd # Same as above.
LLVMDIBuilderInsertDbgValueIntrinsicBefore # Same as above.
LLVMDIBuilderInsertDbgValueIntrinsicAtEnd # Same as above.
LLVMDIBuilderInsertDeclareRecordBefore # Insert a debug record (new debug info format).
LLVMDIBuilderInsertDeclareRecordAtEnd # Same as above.
LLVMDIBuilderInsertDbgValueRecordBefore # Same as above.
LLVMDIBuilderInsertDbgValueRecordAtEnd # Same as above.
```
The existing `LLVMDIBuilderInsert...` functions call through to the
intrinsic versions (old debug info format) currently.
In the next patch, I'll swap them to call the debug records versions
(new debug info format). Downstream users of this API can query and
change the current format using the first two functions above, or can
instead opt to temporarily use intrinsics or records explicitly.
Commit: c18fc4fcf3adeb9b7084bf6b873500404d39bf96
https://github.com/llvm/llvm-project/commit/c18fc4fcf3adeb9b7084bf6b873500404d39bf96
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
Remove unused include. NFC
Commit: 4c5bc7667728d5383c41eb8a20dd5e49257904d2
https://github.com/llvm/llvm-project/commit/4c5bc7667728d5383c41eb8a20dd5e49257904d2
Author: Rodrigo Salazar <4rodrigosalazar at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libcxx][test] Create feature host-can-create-symlinks (#82204)
On Windows you can not create symlinks without elevated privileges
unless you have Windows developer mode enabled. There's ~67 libcxx tests
that run into failures on windows if your environment is not set up
correctly (Go to windows settings and enable "developer mode").
This change:
- Adds a feature check for whether the host can create symlinks. (see
libcxx/utils/libcxx/test/features.py)
- Mark the feature as required for the 67 tests that hit failures on
windows due to this. This will allow lit to correctly mark these tests
as unsupported instead of unexpectedly failed (this is helpful since
then you know you didn't break something with your change, it's just
that it's not supported with your environment).
Commit: 6825081162b69b84c0f4af6f5f71db1bab34e143
https://github.com/llvm/llvm-project/commit/6825081162b69b84c0f4af6f5f71db1bab34e143
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
Log Message:
-----------
[NFC][LLVM][SVE][ISel] Remove redundant type information from Pat targets. (#85409)
Commit: 6598f631bdaf6885de867a1d253203d92dd6b76c
https://github.com/llvm/llvm-project/commit/6598f631bdaf6885de867a1d253203d92dd6b76c
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Log Message:
-----------
Remove another layering violation by unused include. NFC
Commit: c2f75c7159518e238e0185c0f4e615fedcd8a167
https://github.com/llvm/llvm-project/commit/c2f75c7159518e238e0185c0f4e615fedcd8a167
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Handle CXXDefaultInitExpr of composite type
Commit: a9f78a3c67790f16b60765be6091840bc1e5f8de
https://github.com/llvm/llvm-project/commit/a9f78a3c67790f16b60765be6091840bc1e5f8de
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
Log Message:
-----------
Fix Werror buildbots after #84915
e.g. https://lab.llvm.org/buildbot/#/builders/77/builds/35540
Commit: daebe5c4f27ba140ac8d13abf41e3fe4db72b91a
https://github.com/llvm/llvm-project/commit/daebe5c4f27ba140ac8d13abf41e3fe4db72b91a
Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
A mlir/test/Dialect/XeGPU/XeGPUOps.mlir
Log Message:
-----------
[MLIR][XeGPU] Adding XeGPU 2d block operators (#84692)
Hi @joker-eph, This PR adds XeGPU 2D block operators. It contains:
1. `TensorDescType` and `TensorDescAttr` definitions
2. `MemoryScopeAttr` and `CacheHintAttr` definitions which are used by
`TensorDescAttr`.
3. `CreateNdDescOp`, `PrefetchNdOp`, `LoadNdOp`, and `StoreNdOp`
definitions, and their corresponding testcases for illustration.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: ab28c1de23f3880d7d2becf936fe560abe68e020
https://github.com/llvm/llvm-project/commit/ab28c1de23f3880d7d2becf936fe560abe68e020
Author: Bhuminjay Soni <Soni5Happy at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/warn-bitwise-and-bool.c
M clang/test/Sema/warn-bitwise-or-bool.c
Log Message:
-----------
fix unnecessary warning when using bitand with boolean operators (#81976)
This pull request fixes #77601 where using the `bitand` operator with
boolean operands should not trigger the warning, as it would indicate an
intentional use of bitwise AND rather than a typo or error.
Fixes #77601
Commit: 24692088181dd18e491a413d98d9c2ae30464454
https://github.com/llvm/llvm-project/commit/24692088181dd18e491a413d98d9c2ae30464454
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependencies for daebe5c4f27ba140ac8d13abf41e3fe4db72b91a
Commit: 27d504998ec7ec596bc9ff5d16333aea7a1bac18
https://github.com/llvm/llvm-project/commit/27d504998ec7ec596bc9ff5d16333aea7a1bac18
Author: martinboehme <mboehme at google.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Fix `getResultObjectLocation()` on `CXXDefaultArgExpr`. (#85072)
This patch includes a test that causes an assertion failure without the
other
changes in this patch.
Commit: a10aa4485e833d7805dab8eaed4a7ffea1a08f72
https://github.com/llvm/llvm-project/commit/a10aa4485e833d7805dab8eaed4a7ffea1a08f72
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libcxx/include/__type_traits/remove_reference.h
M libcxx/include/cwchar
M libcxx/include/execution
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++] Simplify the implementation of remove_reference (#85207)
GCC 13 introduced the type trait `__remove_reference`. We can simplify
the implementation of `remove_reference` a bit by using it.
Commit: bc70f60418f5edad1aaee91fef832a6e2301c62f
https://github.com/llvm/llvm-project/commit/bc70f60418f5edad1aaee91fef832a6e2301c62f
Author: zicwangupa <87221359+ZiCong-Wang at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[SelectionDAG] Add m_Neg and m_Not pattern matcher and update DAGCombiner (#85365)
Resolves #85065
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 4ea850b52ffbb6ca6a40242558ee005a2a894daf
https://github.com/llvm/llvm-project/commit/4ea850b52ffbb6ca6a40242558ee005a2a894daf
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__iterator/reverse_iterator.h
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/equal.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/greater-equal.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/greater.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/less-equal.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/less.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/not-equal.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/assign.LWG3435.verify.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.default.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.iter.explicit.verify.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.iter.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.reverse_iterator.LWG3435.verify.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.conv/base.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/arrow.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/bracket.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/dereference.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/decrement-assign.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/increment-assign.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/minus.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/plus.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/postdecrement.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/postincrement.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/predecrement.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/preincrement.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nonmember/minus.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/types.compile.pass.cpp
Log Message:
-----------
[libc++] Remove __unconstrained_reverse_iterator (#85582)
`__unconstrained_reverse_iterator` has outlived its usefullness, since
the standard and subsequently the compilers have been fixed.
Commit: 4109b18ee5de1346c2b89a5c89b86bae5c8631d3
https://github.com/llvm/llvm-project/commit/4109b18ee5de1346c2b89a5c89b86bae5c8631d3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/test/tools/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libc++][CMake] Removes LIBCXX_ENABLE_CLANG_TIDY. (#85262)
The clang-tidy selection in CMake was refactored in
https://github.com/llvm/llvm-project/pull/81362. During review it was
suggested to remove this CMake option.
Commit: 1d9fb2ee612f0ccf588d40dc4b5445cffd36e8af
https://github.com/llvm/llvm-project/commit/1d9fb2ee612f0ccf588d40dc4b5445cffd36e8af
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Disable CFStringMakeConstantString test on AIX
It's not only the fist CFSTR call that's broken on AIX.
See https://github.com/llvm/llvm-project/commit/0a739eb75fe68b1cec4e4aaad8b5395bb5da9a89#commitcomment-139910542
Commit: 4294841ebcbb22076a24267cdf5164c7aeed9941
https://github.com/llvm/llvm-project/commit/4294841ebcbb22076a24267cdf5164c7aeed9941
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/Interp/c.c
M clang/test/Sema/const-eval.c
A clang/test/Sema/constexpr-void-cast.c
Log Message:
-----------
[clang][ExprConst] Can't be past an invalid LValue designator (#84293)
For the test case in C, both `LV.getLValueOffset()` and
`Ctx.getTypeSizeInChars(Ty)` are zero, so we return `true` from
`isOnePastTheEndOfCompleteObject()` and ultimately diagnose this as
being one past the end, but the diagnostic doesn't make sense.
Commit: a8bda0b4a6eb454cb437105efc98c807bd5c4f6d
https://github.com/llvm/llvm-project/commit/a8bda0b4a6eb454cb437105efc98c807bd5c4f6d
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/echo.ll
M llvm/tools/llvm-c-test/echo.cpp
Log Message:
-----------
[C API] Add accessors for function prefix and prologue data (#82193)
A test is added to echo.ll, and the echo.cpp part of llvm-c-test is
updated to clone a function's prefix and prologue.
Commit: 276847a65af67bdc4eb79989f196d1968cb50ae6
https://github.com/llvm/llvm-project/commit/276847a65af67bdc4eb79989f196d1968cb50ae6
Author: Miguel Raz Guzmán Macedo <miguelraz at ciencias.unam.mx>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/intrinsic-cmp.ll
Log Message:
-----------
[LangRef][IR] Add 3-way compare intrinsics llvm.scmp/llvm.ucmp (#83227)
This PR adds the `[us]cmp` intrinsics to the LangRef, `Intrinsics.td`
and some tests to the IRVerifier.
RFC: https://discourse.llvm.org/t/rfc-add-3-way-comparison-intrinsics/76685
Commit: eb264d825beb048c6e673ddaf5aca069511fcfb3
https://github.com/llvm/llvm-project/commit/eb264d825beb048c6e673ddaf5aca069511fcfb3
Author: ykiko <ykikoykikoykiko at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/Index.h
Log Message:
-----------
Add some missing Kinds to libclang python bindings (#85571)
Add some Kinds existing in Index.h but missing in cindex.py.
Commit: bfd1d95de270fe38a287b5f48928df56a39ff8ad
https://github.com/llvm/llvm-project/commit/bfd1d95de270fe38a287b5f48928df56a39ff8ad
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
Log Message:
-----------
[mlir] Fix unused variable error in builds with asserts enabled.
Commit: fd93a5e3c06a90e931c645948aa73ee9894699d7
https://github.com/llvm/llvm-project/commit/fd93a5e3c06a90e931c645948aa73ee9894699d7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Support match unary and binary recipes in pattern matcher (NFC).
Generalize pattern matchers to take recipe types to match as template
arguments and use it to provide matchers for unary and binary recipes
with specific opcodes and a list of recipe types (VPWidenRecipe,
VPReplicateRecipe, VPWidenCastRecipe, VPInstruction)
The new matchers are used to simplify and generalize the code in
simplifyRecipes.
Commit: cb84f130b724f64f88f780c1731a4c6e9cba99cd
https://github.com/llvm/llvm-project/commit/cb84f130b724f64f88f780c1731a4c6e9cba99cd
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Remove unneeded addr mode predicates on FLAT Real instructions (#85641)
These predicates should be copied from the corresponding Pseudo
instruction. Previously that did not work because of a problem with
setting the right predicates on the Pseudos, but #85442 fixed that.
Commit: e5b20c83e5ba25e6e0650df30352ce54c2f6ea2f
https://github.com/llvm/llvm-project/commit/e5b20c83e5ba25e6e0650df30352ce54c2f6ea2f
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/scalar-double-ldst.ll
M llvm/test/CodeGen/PowerPC/scalar-float-ldst.ll
Log Message:
-----------
[PowerPC] Update chain uses when emitting lxsizx (#84892)
Commit: 9cea288bf789c74146cb211a2b5a84895e6866ac
https://github.com/llvm/llvm-project/commit/9cea288bf789c74146cb211a2b5a84895e6866ac
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/utils/release/export.sh
Log Message:
-----------
[release] Fix version extraction in export.sh (#85328)
The LLVM_VERSION_* variables were moved to a new file in
81e20472a0c5a4a8edc5ec38dc345d580681af81.
Commit: e2e3624fae669f85de1445bf7037ff29feb30905
https://github.com/llvm/llvm-project/commit/e2e3624fae669f85de1445bf7037ff29feb30905
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/test/Sema/constexpr-void-cast.c
Log Message:
-----------
[clang][test] Try to fix constexpr-void-cast test
The test currenlty fails:
https://lab.llvm.org/buildbot/#/builders/139/builds/61628
because it emits a C11 warning when compiling as C. Try to fix that
be defining the C standard to use.
Commit: 9253950ec1690e786ba1cdaaf3234fb30b633eab
https://github.com/llvm/llvm-project/commit/9253950ec1690e786ba1cdaaf3234fb30b633eab
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libclc/CMakeLists.txt
M libclc/check_external_calls.sh
M libclc/cmake/CMakeLLAsmInformation.cmake
Log Message:
-----------
[libclc] Convert tabs to spaces in CMake (#85634)
Having a mix of tabs and spaces makes the diff of any changes to the
build system noisier than necessary. This commit unifies them to two
spaces.
This includes some minor cosmetic changes such as with joining things on
one line where appropriate.
There are other files in libclc which have tabs but those haven't been
touched at this time. Those could come at another time if desired,
though they might be more contentious as the project isn't
clang-formatted at all and so that might invite larger discussions
around formatting.
Commit: 09bc6abba6e226ad5e9d18d4365690d6f04de21a
https://github.com/llvm/llvm-project/commit/09bc6abba6e226ad5e9d18d4365690d6f04de21a
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFrameInfo.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/FinalizeISel.cpp
M llvm/lib/CodeGen/MachineFrameInfo.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/avoid-zero-copy.mir
M llvm/test/CodeGen/AArch64/stack-probing-no-scratch-reg.mir
M llvm/test/CodeGen/AArch64/stack-probing-shrink-wrap.mir
M llvm/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir
M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
M llvm/test/CodeGen/Hexagon/livephysregs-regmask-clobber.mir
M llvm/test/CodeGen/MIR/AMDGPU/stack-id-assert.mir
M llvm/test/CodeGen/Mips/avoid-zero-copy.mir
M llvm/test/CodeGen/Mips/msa/emergency-spill.mir
M llvm/test/CodeGen/RISCV/live-sp.mir
M llvm/test/CodeGen/RISCV/rvv/addi-rvv-stack-object.mir
M llvm/test/CodeGen/RISCV/rvv/rvv-stack-align.mir
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-offset-for-rvv-object.mir
M llvm/test/CodeGen/RISCV/stack-inst-compress.mir
M llvm/test/CodeGen/SystemZ/cond-move-04.mir
M llvm/test/CodeGen/SystemZ/cond-move-08.mir
M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints-02.mir
M llvm/test/CodeGen/SystemZ/cond-move-regalloc-hints.mir
M llvm/test/CodeGen/SystemZ/frame-28.mir
M llvm/test/CodeGen/X86/fast-regalloc-live-out-debug-values.mir
M llvm/test/CodeGen/X86/heap-alloc-markers.mir
M llvm/test/CodeGen/X86/instr-symbols.mir
M llvm/test/CodeGen/X86/statepoint-fixup-undef.mir
M llvm/test/CodeGen/X86/statepoint-vreg.mir
M llvm/test/DebugInfo/MIR/X86/debug-loc-0.mir
M llvm/test/DebugInfo/MIR/X86/prolog-epilog-indirection.mir
M llvm/test/DebugInfo/X86/live-debug-vars-dse.mir
M llvm/test/DebugInfo/X86/prolog-params.mir
Log Message:
-----------
[MachineFrameInfo] Refactoring around computeMaxcallFrameSize() (NFC) (#78001)
- Use computeMaxCallFrameSize() in PEI::calculateCallFrameInfo() instead of duplicating the code.
- Set AdjustsStack in FinalizeISel instead of in computeMaxCallFrameSize().
Commit: c5177f149b43dcc5a39c2c1aefaf1bba8518fd2e
https://github.com/llvm/llvm-project/commit/c5177f149b43dcc5a39c2c1aefaf1bba8518fd2e
Author: Martin Wehking <martin.wehking at codeplay.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
Silence potential overflow warning (#83272)
Cast Offset variable to int64_t type directly inside a multiplication
and function call to utilize 64-bit arithmetic.
Ensure that the multiplication will not overflow.
A static analyzer warned about this since the function expects a 64-bit
argument, but the multiplication is evaluated inside a 32-bit context.
Commit: 487f356b20860a3eeb29b836483c639735f9393c
https://github.com/llvm/llvm-project/commit/487f356b20860a3eeb29b836483c639735f9393c
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
M llvm/test/DebugInfo/print-non-instruction-debug-info.ll
Log Message:
-----------
[RemoveDIs][AsmWriter] Add empty-metadata operands to the SlotTracker (#85636)
Commit: 0c21377aeafc523bd4a8c40bd27e33498f3199f7
https://github.com/llvm/llvm-project/commit/0c21377aeafc523bd4a8c40bd27e33498f3199f7
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/doconcurrent08.f90
Log Message:
-----------
[flang] Diagnose the impure procedure reference in finalization according to the rank of the entity (#85475)
Use the rank of the array section to determine which final procedure
would be called in diagnosing whether that procedure is impure or not.
Commit: d56110fa025b58e57602a254c841e6e41ea46a42
https://github.com/llvm/llvm-project/commit/d56110fa025b58e57602a254c841e6e41ea46a42
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp] Fix _Complex comma operators
Handle them before shelling out to visitComplexBinOp().
Commit: 73381a8df80674bd5198a89e8e879c64c48121b8
https://github.com/llvm/llvm-project/commit/73381a8df80674bd5198a89e8e879c64c48121b8
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
Log Message:
-----------
[CodeGen] Fix -Wunused-variable in PrologEpilogInserter.cpp (NFC)
llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp:369:12:
error: unused variable 'MaxCFSIn' [-Werror,-Wunused-variable]
uint32_t MaxCFSIn =
^
1 error generated.
Commit: 0c423af59c971ddf1aa12d94529edf8293608157
https://github.com/llvm/llvm-project/commit/0c423af59c971ddf1aa12d94529edf8293608157
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Add Options to break inside the TableGen DAGArg. (#83149)
Add two options to control the line break inside TableGen DAGArg.
- TableGenBreakInsideDAGArg
- TableGenBreakingDAGArgOperators
Commit: f6f42af06f6fe6a78f044686a36e4995d4f42ac5
https://github.com/llvm/llvm-project/commit/f6f42af06f6fe6a78f044686a36e4995d4f42ac5
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/undefined_behavior.rst
M libc/spec/posix.td
M libc/src/__support/CPP/string_view.h
M libc/src/sys/mman/CMakeLists.txt
M libc/src/sys/mman/linux/CMakeLists.txt
A libc/src/sys/mman/linux/shm_common.h
A libc/src/sys/mman/linux/shm_open.cpp
A libc/src/sys/mman/linux/shm_unlink.cpp
A libc/src/sys/mman/shm_open.h
A libc/src/sys/mman/shm_unlink.h
M libc/test/src/__support/CPP/stringview_test.cpp
M libc/test/src/sys/mman/linux/CMakeLists.txt
A libc/test/src/sys/mman/linux/shm_test.cpp
Log Message:
-----------
[libc] Add `shm_open/shm_unlink` (#84974)
Commit: 57914f647e2551ea19758038345bb8bc2c4762c1
https://github.com/llvm/llvm-project/commit/57914f647e2551ea19758038345bb8bc2c4762c1
Author: Mike Rice <michael.p.rice at intel.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Remove unnecessary nullptr check on cast subexpr (#85473)
The value of SubExpr is not null since getSubExpr would assert in that
case. Remove the nullptr check. This avoids confusion since SubExpr is
used without check later in the function.
Commit: 12b802ac0bc6ddf0742aa3fe8caecd8204d70ca5
https://github.com/llvm/llvm-project/commit/12b802ac0bc6ddf0742aa3fe8caecd8204d70ca5
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-avoid-assignment.cpp
Log Message:
-----------
[clang-tidy]bugprone-unused-return-value ignore `++` and `--` operator overloading (#84922)
Fixes: #84705
Further fix for #84489
Commit: 39c739eec9148a2f4e04c7fa9ca11f23db79bb15
https://github.com/llvm/llvm-project/commit/39c739eec9148a2f4e04c7fa9ca11f23db79bb15
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
Log Message:
-----------
[mlir][OpInterfacesGen][NFC] Add newline after traits declaration (#85633)
Slightly improve the readability of the tablegen-generated code.
Co-authored-by: Orest Chura <orest.chura at intel.com>
Commit: f8042171552ca16e77a5e9367188e7f218474380
https://github.com/llvm/llvm-project/commit/f8042171552ca16e77a5e9367188e7f218474380
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/test/tools/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
Revert "[libc++][CMake] Removes LIBCXX_ENABLE_CLANG_TIDY. (#85262)"
This reverts commit 4109b18ee5de1346c2b89a5c89b86bae5c8631d3.
It looks like the automatic detection has false positives. This broke
the following build https://github.com/llvm/llvm-project/pull/85262
Commit: ca04b56a8b26cbe9327eaab113e1e4af096d902a
https://github.com/llvm/llvm-project/commit/ca04b56a8b26cbe9327eaab113e1e4af096d902a
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/stdio/CMakeLists.txt
A libc/src/stdio/fileno.h
M libc/src/stdio/generic/CMakeLists.txt
A libc/src/stdio/generic/fileno.cpp
M libc/test/src/stdio/fileop_test.cpp
Log Message:
-----------
[libc] Implement fileno (#85628)
fixes: #85150
Commit: 8d142043e8c4c1144cd94f39f3cc7c88da5cec3f
https://github.com/llvm/llvm-project/commit/8d142043e8c4c1144cd94f39f3cc7c88da5cec3f
Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
R mlir/test/Dialect/XeGPU/XeGPUOps.mlir
Log Message:
-----------
Revert "[MLIR][XeGPU] Adding XeGPU 2d block operators (#84692)" (#85653)
This reverts commit daebe5c4f27ba140ac8d13abf41e3fe4db72b91a.
This commit causes the following asan issue:
```
<snip>/llvm-project/build/bin/mlir-opt <snip>/llvm-project/mlir/test/Dialect/XeGPU/XeGPUOps.mlir | <snip>/llvm-project/build/bin/FileCheck <snip>/llvm-project/mlir/test/Dialect/XeGPU/XeGPUOps.mlir
# executed command: <snip>/llvm-project/build/bin/mlir-opt <snip>/llvm-project/mlir/test/Dialect/XeGPU/XeGPUOps.mlir
# .---command stderr------------
# | =================================================================
# | ==2772558==ERROR: AddressSanitizer: stack-use-after-return on address 0x7fd2c2c42b90 at pc 0x55e406d54614 bp 0x7ffc810e4070 sp 0x7ffc810e4068
# | READ of size 8 at 0x7fd2c2c42b90 thread T0
# | #0 0x55e406d54613 in operator()<long int const*> /usr/include/c++/13/bits/predefined_ops.h:318
# | #1 0x55e406d54613 in __count_if<long int const*, __gnu_cxx::__ops::_Iter_pred<mlir::verifyListOfOperandsOrIntegers(Operation*, llvm::StringRef, unsigned int, llvm::ArrayRef<long int>, ValueRange)::<lambda(int64_t)> > > /usr/include/c++/13/bits/stl_algobase.h:2125
# | #2 0x55e406d54613 in count_if<long int const*, mlir::verifyListOfOperandsOrIntegers(Operation*,
...
```
Commit: bd9a2afa8015a3f0bcc214a053816f4275f8d891
https://github.com/llvm/llvm-project/commit/bd9a2afa8015a3f0bcc214a053816f4275f8d891
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Add tests for selects with same conditions (NFC)
Commit: 705788c84623b4f1dab72a108e039a0de2d53cf6
https://github.com/llvm/llvm-project/commit/705788c84623b4f1dab72a108e039a0de2d53cf6
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/test/Analysis/block-in-critical-section.cpp
Log Message:
-----------
[clang][analyzer] Improve BlockInCriticalSectionsChecker (#80029)
* Add support for multiple, potentially overlapping critical sections:
The checker can now simultaneously handle several mutex's critical
sections without confusing them.
* Implement the handling of recursive mutexes:
By identifying the lock events, recursive mutexes are now supported.
A lock event is a pair of a lock expression, and the SVal of the mutex
that it locks, so even multiple locks of the same mutex (and even by
the same expression) is now supported.
* Refine the note tags generated by the checker:
The note tags now correctly show just for mutexes that are
active at the point of error, and multiple acquisitions of the same mutex
are also noted.
Commit: 9a784303a3666e9d9b93088a1519e1dc2ba4d015
https://github.com/llvm/llvm-project/commit/9a784303a3666e9d9b93088a1519e1dc2ba4d015
Author: David Green <david.green at arm.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xtn.mir
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/itofp.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize small G_TRUNC (#85625)
This is an alternative to #85610, that moreElement's small G_TRUNC
vectors to widen the vectors. It needs to disable one of the existing
Unmerge(Trunc(..)) combines, and some of the code is not as optimal as
it could be. I believe with some extra optimizations it could look
better (I was thinking combining trunc(buildvector) -> buildvector and
possibly improving buildvector lowering by generating
insert_vector_element earlier).
Commit: ece2903ce730392e5236d27f1f387fa8067fcb1b
https://github.com/llvm/llvm-project/commit/ece2903ce730392e5236d27f1f387fa8067fcb1b
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/ObjC.h
M lld/MachO/Options.td
A lld/test/MachO/objc-category-merging-complete-test.s
A lld/test/MachO/objc-category-merging-extern-class-minimal.s
Log Message:
-----------
[lld-macho] Implement ObjC category merging (-objc_category_merging) (#82928)
This change adds a flag to lld to enable category merging for MachoO +
ObjC.
It adds the '-objc_category_merging' flag for enabling this option and
uses the existing '-no_objc_category_merging' flag for disabling it.
In ld64, this optimization is enabled by default, but in lld, for now,
we require explicitly passing the '-objc_category_merging' flag in order
to enable it.
Behavior: if in the same link unit, multiple categories are extending
the same class, then they get merged into a single category.
Ex: `Cat1(method1+method2,protocol1) + Cat2(method3+method4,protocol2,
property1) = Cat1_2(method1+method2+method3+method4,
protocol1+protocol2, property1)`
Notes on implementation decisions made in this diff:
1. There is a possibility to further improve the current implementation
by directly merging the category data into the base class (if the base
class is present in the link unit) - this improvement may be done as a
follow-up. This improved functionality is already present in ld64.
2. We do the merging on the raw inputSections - after dead-stripping
(categories can't be dead stripped anyway).
3. The changes are mostly self-contained to ObjC.cpp, except for adding
a new flag (linkerOptimizeReason) to ConcatInputSection and StringPiece
to mark that this data has been optimized away. Another way to do it
would have been to just mark the pieces as not 'live' but this would
cause the old symbols to show up in the linker map as being
dead-stripped - even if dead-stripping is disabled. This flag allows us
to match the ld64 behavior.
---------
Co-authored-by: Alex B <alexborcan at meta.com>
Commit: 280c7a9526a9ae7f959117c9cec94f8c8887f15c
https://github.com/llvm/llvm-project/commit/280c7a9526a9ae7f959117c9cec94f8c8887f15c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[Clang] Fix preprocessing device only in HIP mode
Summary:
A recent change made the HIP compilation bundle by default. However we
don't want to do this for `-E`, which silently broke some handling.
Commit: 0db2e1e91a9124c276fd00f674b71f038a53ddec
https://github.com/llvm/llvm-project/commit/0db2e1e91a9124c276fd00f674b71f038a53ddec
Author: Alex Richardson <alexrichardson at google.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
Log Message:
-----------
Reland "[compiler-rt] Avoid generating coredumps when piped to a tool"
Updated the corelimit.cpp test to handle buildbots with RLIMIT_CORE
rlim_max already set to zero.
Original commit message:
I was trying to debug why `ninja check-compiler-rt` was taking so long
to run on my system and after some debugging it turned out that most of
the time was being spent generating core dumps.
On many current Linux systems, coredumps are no longer dumped in the CWD
but instead piped to a utility such as systemd-coredumpd that stores
them in a deterministic location. This can be done by setting the
kernel.core_pattern sysctl to start with a '|'. However, when using such
a setup the kernel ignores a coredump limit of 0 (since there is no file
being written) and we can end up piping many gigabytes of data to
systemd-coredumpd which causes the test suite to freeze for a long time.
While most piped coredump handlers do respect the crashing processes'
RLIMIT_CORE, this is notable not the case for Debian's systemd-coredump
due to a local patch that changes sysctl.d/50-coredump.conf to ignore
the specified limit and instead use RLIM_INFINITY
(https://salsa.debian.org/systemd-team/systemd/-/commit/64599ffe44f0d).
Fortunately there is a workaround: the kernel recognizes the magic value
of 1 for RLIMIT_CORE to disable coredumps when piping. One byte is also
too small to generate any coredump, so it effectively behaves as if we
had set the value to zero.
The alternative to using RLIMIT_CORE=1 would be to use prctl() with the
PR_SET_DUMPABLE flag, however that also prevents ptrace(), so makes it
impossible to attach a debugger.
Fixes: https://github.com/llvm/llvm-project/issues/45797
This reverts commit 0b9f19a9880eb786871194af116f223d2ad30c52.
Commit: 67c5a98caea419a9720712d3977d487ab95f6356
https://github.com/llvm/llvm-project/commit/67c5a98caea419a9720712d3977d487ab95f6356
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[IR][NFC] Suppress warnings in ternary operators
Just doing this the same way as in AMDGPUPromoteAlloca.cpp
Commit: 44c579f5b56e89c44ad508805f742601ce3db2b1
https://github.com/llvm/llvm-project/commit/44c579f5b56e89c44ad508805f742601ce3db2b1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-user-not-min.ll
Log Message:
-----------
[SLP][NFC]Add a test with minbitwidth operand, but not a user.
Commit: 27d7bb861613a09e852b7d9979a1b6fdfe517a84
https://github.com/llvm/llvm-project/commit/27d7bb861613a09e852b7d9979a1b6fdfe517a84
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fileop_test.cpp
Log Message:
-----------
[libc] fix up fileno tests (#85660)
Fixes #85628
Commit: c48d8182f172ac24244d5fb038b7ab983f67def4
https://github.com/llvm/llvm-project/commit/c48d8182f172ac24244d5fb038b7ab983f67def4
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
Log Message:
-----------
[RISCV] Add SiFiveP600Model SchedModel that is used by sifive-p670 (#84962)
This PR includes an initial scheduler model shows improvement on
multiple workloads over NoSchedModel and SiFive7Model for sifive-p670.
We plan on making significant changes to this model in the future so
that it is more accurate. This patch would close
https://github.com/llvm/llvm-project/pull/80612.
Commit: e5f2ed37e58d5d3e8d8ab8a688ed9fadcd665083
https://github.com/llvm/llvm-project/commit/e5f2ed37e58d5d3e8d8ab8a688ed9fadcd665083
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
Log Message:
-----------
[RISCV] Add IMinMax sched resources to P600SchedModel
CI checks were passing in #84962 (c48d8182f172ac24244d5fb038b7ab983f67def4) but
that commit caused failures once merged due to ships passing since the
PR was not rebased on #85131. This commit fixes this problem by adding
sched resources for integer min max instructions from Zbb in P600 model.
Commit: 85d7fef6c1ea08c944c8e0eda6ea520d49e595b4
https://github.com/llvm/llvm-project/commit/85d7fef6c1ea08c944c8e0eda6ea520d49e595b4
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[flang][NFC] Fix include style (#85655)
Commit: 457f762651e331341872abccbb7d7724c89cbf50
https://github.com/llvm/llvm-project/commit/457f762651e331341872abccbb7d7724c89cbf50
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[cmake] Disable FatLTO in clang build for Fuchsia (#85677)
We're seeing an issue on Macs, which shouldn't be using this config, so
we will temporarily disable this while we investigate.
Commit: 1261c02be4829984f025f258f3717277d04a8332
https://github.com/llvm/llvm-project/commit/1261c02be4829984f025f258f3717277d04a8332
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/Transforms/LICM/expr-reassociate-int.ll
Log Message:
-----------
[LICM] Drop nsw/nuw flags on affected instructions in hoistMulAddAssociation. (#85486)
Since we are introducing new multiplies earlier in the arithmetic, the
nsw/nuw flags on later instructions are no longer accurate.
Fixes #85457.
Commit: 7d55b916a5e5091ff21d6fea4aaa54efe73535a7
https://github.com/llvm/llvm-project/commit/7d55b916a5e5091ff21d6fea4aaa54efe73535a7
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
A mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x128_stride_noswizzle.mlir
Log Message:
-----------
[mlir][nvgpu] Support strided memref when creating TMA descriptor (#85652)
Commit: 6800f422c22ffd672b1e31f0d0a3fa29d19b7a13
https://github.com/llvm/llvm-project/commit/6800f422c22ffd672b1e31f0d0a3fa29d19b7a13
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld] Fix warnings
This patch fixes:
lld/MachO/ObjC.cpp:633:12: error: unused variable 'expectedListSize'
[-Werror,-Wunused-variable]
lld/MachO/ObjC.cpp:1034:12: error: unused variable 'newCatDef'
[-Werror,-Wunused-variable]
Commit: 20f5bcfb1a3b58c430a5df6dd837b30c22a2b788
https://github.com/llvm/llvm-project/commit/20f5bcfb1a3b58c430a5df6dd837b30c22a2b788
Author: nicebert <110385235+nicebert at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M openmp/libomptarget/include/OpenMP/Mapping.h
M openmp/libomptarget/include/Shared/Debug.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/src/OpenMP/API.cpp
M openmp/libomptarget/src/OpenMP/Mapping.cpp
M openmp/libomptarget/src/exports
A openmp/libomptarget/test/api/ompx_dump_mapping_tables.cpp
M openmp/runtime/src/include/omp.h.var
Log Message:
-----------
[OpenMP] Add OpenMP extension API to dump mapping tables (#85381)
This adds an API call ompx_dump_mapping_tables.
This allows users to debug the mapping tables and can be especially
useful for unified shared memory applications to check if the code
behaves in the way it should. The implementation reuses code already
present to dump mapping tables (in a debug setting).
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 8578b6e9120cb2fc8a7fc102587d617144c35532
https://github.com/llvm/llvm-project/commit/8578b6e9120cb2fc8a7fc102587d617144c35532
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
Log Message:
-----------
[VPlan] Store VPlan directly in VPRecipeBuilder (NFCI).
Instead of passing VPlan in a number of places, just store it directly
in VPRecipeBuilder. A single instance is only used for a single VPlan.
This simplifies the code and was suggested by @nikolaypanchenko in
https://github.com/llvm/llvm-project/pull/84464.
Commit: 9a5c0d6af93ee1abbdfd47a37927ecc5d5ab6d02
https://github.com/llvm/llvm-project/commit/9a5c0d6af93ee1abbdfd47a37927ecc5d5ab6d02
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
Revert "[RemoveDIs] Enable direct-to-bitcode writing by default"
This reverts commit e419084da7a00b269368aeb95698e0d36b24e8ec.
Likely cause of buildbot failure:
https://lab.llvm.org/buildbot/#/builders/179/builds/9629
Commit: cf835b96b13bec3b5df1962bae609934edda6d55
https://github.com/llvm/llvm-project/commit/cf835b96b13bec3b5df1962bae609934edda6d55
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
Log Message:
-----------
[libc] Remove fileno from GPU entrypoints
Commit: 9936ac308332796bf16024ce30a4aa1fba2cce66
https://github.com/llvm/llvm-project/commit/9936ac308332796bf16024ce30a4aa1fba2cce66
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/www/get_started.html
M openmp/docs/SupportAndFAQ.rst
Log Message:
-----------
[docs] Prefer --gcc-install-dir= to deprecated GCC_INSTALL_PREFIX (#85458)
Setting GCC_INSTALL_PREFIX leads to a warning (#77537).
Link:
https://discourse.llvm.org/t/add-gcc-install-dir-deprecate-gcc-toolchain-and-remove-gcc-install-prefix/65091
Link:
https://discourse.llvm.org/t/correct-cmake-parameters-for-building-clang-and-lld-for-riscv/72833
Commit: ff63d628c46459437df21e09f70993685eba4bc3
https://github.com/llvm/llvm-project/commit/ff63d628c46459437df21e09f70993685eba4bc3
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/test/Transforms/HotColdSplit/outline-disjoint-diamonds.ll
M llvm/test/Transforms/IROutliner/outlining-no-return-functions.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.generated.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.generated.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.nogenerated.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs_prefix_reuse.ll.nogenerated.globals.expected
Log Message:
-----------
[CodeExtractor] Terminate callsite blocks to new `noreturn` functions with `unreachable`
Since some of the users of `CodeExtractor` like `HotColdSplitting` run
late in the pipeline, returns are not cleaned to `unreachable`. So,
just emit `unreachable` directly if the function is `noreturn`.
Closes #84682
Commit: 6984ba7b94e13694caeea6a8dada9f79b2cc644a
https://github.com/llvm/llvm-project/commit/6984ba7b94e13694caeea6a8dada9f79b2cc644a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
Log Message:
-----------
[InstSimply] Add tests for simplify `(fmul -x, +/-0)`; NFC
Commit: 5265be11b1bbf5d744cf564dce91e789e2ab4c9e
https://github.com/llvm/llvm-project/commit/5265be11b1bbf5d744cf564dce91e789e2ab4c9e
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
Log Message:
-----------
[InstSimply] Simplify `(fmul -x, +/-0)` -> `-/+0`
We already handle the `+x` case, and noticed it was missing in the bug
affecting #82555
Proofs: https://alive2.llvm.org/ce/z/WUSvmV
Closes #85345
Commit: 18da51b2b227bcaee0efd13c4bc9ba408ea6b6e6
https://github.com/llvm/llvm-project/commit/18da51b2b227bcaee0efd13c4bc9ba408ea6b6e6
Author: David Green <david.green at arm.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[CodeGen] More uses of LocationSize::beforeOrAfterPointer().
As an extension to #84751, this adds some extra uses of beforeOrAfterPointer()
instead of UnknownSize.
Commit: ea72c082bc29fdceca33f37477b7588f31630a5f
https://github.com/llvm/llvm-project/commit/ea72c082bc29fdceca33f37477b7588f31630a5f
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M lld/ELF/InputSection.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[ELF] Change getSymbolIndex to use const reference. NFC
Commit: 0007d7eac9367d184df173a0b7450dfdaaf8a551
https://github.com/llvm/llvm-project/commit/0007d7eac9367d184df173a0b7450dfdaaf8a551
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M flang/include/flang/Common/visit.h
Log Message:
-----------
[flang] Reduce recursion in common::visit (#85483)
This patch yields small speed-ups in compiler build and execution times,
but more importantly, reduces the stack depth needed in a build
environment where tail call optimization does not appear to occur.
Commit: 606a997a3cb83437e1aeef9fee55144863b0ad76
https://github.com/llvm/llvm-project/commit/606a997a3cb83437e1aeef9fee55144863b0ad76
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M flang/include/flang/Evaluate/real.h
M flang/test/Evaluate/fold-scale.f90
Log Message:
-----------
[flang] Fix SCALE() folding with big scale factors (#85576)
The folding of the SCALE() intrinsic function is implemented via
multiplication by a power of two; this simplifies handling of
exceptional cases. But sometimes scaling by a power of two requires an
exponent larger or smaller than a floating-point format can represent,
and two multiplications are required.
Commit: 7eb5d4fc129a9b99b4dfe8f84507a08a72b55ecf
https://github.com/llvm/llvm-project/commit/7eb5d4fc129a9b99b4dfe8f84507a08a72b55ecf
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M flang/runtime/edit-input.cpp
M flang/unittests/Runtime/NumericalFormatTest.cpp
Log Message:
-----------
[flang][runtime] Round hex REAL input correctly with excess digits (#85587)
Excess hexadecimal digits were too significant for rounding purposes,
leading to inappropriate rounding away from zero for some modes.
Commit: 53e8d501e2653f416bea9ddf2687bb0aff0c9e46
https://github.com/llvm/llvm-project/commit/53e8d501e2653f416bea9ddf2687bb0aff0c9e46
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/declarations02.f90
Log Message:
-----------
[flang] Catch inappropriate attributes for PARAMETERs (#85588)
There's several symbol attributes that cannot be applied to named
constants, but that weren't being checked.
Commit: d0d9839b146692160aa3e0efed86faefde949f49
https://github.com/llvm/llvm-project/commit/d0d9839b146692160aa3e0efed86faefde949f49
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M flang/lib/Semantics/data-to-inits.cpp
Log Message:
-----------
[flang] Fix crash on erroneous program (#85615) (#85659)
Replace a pointer that should never be null with a reference argument so
that it's always defined.
Fixes https://github.com/llvm/llvm-project/issues/85615.
Commit: 5d56b34807e0f6e7a6684e57bec7c1751778862c
https://github.com/llvm/llvm-project/commit/5d56b34807e0f6e7a6684e57bec7c1751778862c
Author: Michael Jones <michaelrj at google.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libc/fuzzing/CMakeLists.txt
M libc/fuzzing/math/RemQuoDiff.h
M libc/fuzzing/math/SingleInputSingleOutputDiff.h
M libc/fuzzing/math/TwoInputSingleOutputDiff.h
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/math/generic/math_utils.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/uint_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/explogxf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/fdim_test.cpp
M libc/test/src/math/fdimf_test.cpp
M libc/test/src/math/fdiml_test.cpp
M libc/test/src/math/ilogb_test.cpp
M libc/test/src/math/ilogbf_test.cpp
M libc/test/src/math/ilogbl_test.cpp
M libc/test/src/math/inv_trigf_utils_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FAbsTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/TruncTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/utils/FPUtil/x86_long_double_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
Log Message:
-----------
[libc] Remove direct math.h includes (#85324)
Reland of #84991
A downstream overlay mode user ran into issues with the isnan macro not
working in our sources with a specific libc configuration. This patch
replaces the last direct includes of math.h with our internal
math_macros.h, along with the necessary build system changes.
Commit: 8b8e1adbdecd5f37ebcaa8d4fdf333962f7a0eb7
https://github.com/llvm/llvm-project/commit/8b8e1adbdecd5f37ebcaa8d4fdf333962f7a0eb7
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
M llvm/lib/Target/SystemZ/SystemZInstrHFP.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZPatterns.td
M llvm/lib/Target/VE/VEInstrInfo.td
M llvm/test/CodeGen/SystemZ/atomic-load-06.ll
A llvm/test/CodeGen/SystemZ/atomic-memops-fp128.ll
A llvm/test/CodeGen/SystemZ/atomic-memops.ll
M llvm/test/CodeGen/SystemZ/atomic-store-06.ll
Log Message:
-----------
[SystemZ] Don't lower ATOMIC_LOAD/STORE to LOAD/STORE (#75879)
- Instead of lowering float/double ISD::ATOMIC_LOAD / ISD::ATOMIC_STORE
nodes to regular LOAD/STORE nodes, make them legal and select those nodes
properly instead. This avoids exposing them to the DAGCombiner.
- AtomicExpand pass no longer casts float/double atomic load/stores to integer
(FP128 is still casted).
Commit: 65d444b9edb895443754c13d9c008af180eb5c71
https://github.com/llvm/llvm-project/commit/65d444b9edb895443754c13d9c008af180eb5c71
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
Log Message:
-----------
[lldb][nfc] Factor out repeated code in DWIM Print (#85669)
The code that prints ValueObjects is duplicated across two different
cases of the dwim-print command, and a subsequent commit will add a
third case. As such, this commit factors out the common code into a
lambda. A free function was considered, but there is too much
function-local context required in that.
We also reword some of the comments so that they stop counting cases,
making it easier to add other cases later.
Commit: 7459f7247312f7035281062be9fc3d2bcde4bfc0
https://github.com/llvm/llvm-project/commit/7459f7247312f7035281062be9fc3d2bcde4bfc0
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/VTuneSharedStructs.h
Log Message:
-----------
Add missing includes (to fix the modules build)
Commit: 228757f6c3cd9271eb25b8869445aab5216fe0b6
https://github.com/llvm/llvm-project/commit/228757f6c3cd9271eb25b8869445aab5216fe0b6
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M lld/test/ELF/pack-dyn-relocs-arm2.s
M lld/test/ELF/pack-dyn-relocs.s
Log Message:
-----------
[ELF] Improve --pack-dyn-relocs tests for Android and RELR
Commit: e0b19e957e0ef9b4d88e09c44d6499d931328ecc
https://github.com/llvm/llvm-project/commit/e0b19e957e0ef9b4d88e09c44d6499d931328ecc
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M mlir/lib/Interfaces/ViewLikeInterface.cpp
Log Message:
-----------
[MLIR] Remove unused implicit capture in the lambda (NFC)
This lambda does not capture anything, the `&` is just misleading.
Commit: 4841858862df4b8ac4ac68922086f03c8bbd3dc2
https://github.com/llvm/llvm-project/commit/4841858862df4b8ac4ac68922086f03c8bbd3dc2
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M bolt/lib/Core/DebugNames.cpp
A bolt/test/X86/dwarf5-debug-names-dw-at-specification.s
M bolt/test/X86/dwarf5-debug-names-generate-debug-names.test
M bolt/test/X86/dwarf5-debug-names.test
M bolt/test/X86/dwarf5-one-cu-debug-names.test
Log Message:
-----------
[BOLT][DWARF] Add support to debug_names for DW_AT_abstract_origin/DW_AT_specification (#85485)
According to the DWARF spec a DIE that has DW_AT_specification or
DW_AT_abstract_origin can be part of .debug_name if a DIE those
attribute points to has DW_AT_name or DW_AT_linkage_name.
Commit: 7ef1a59ed1ca176cf3c38672fe1d3f49c1758e49
https://github.com/llvm/llvm-project/commit/7ef1a59ed1ca176cf3c38672fe1d3f49c1758e49
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_checks.h
Log Message:
-----------
remove incorrect DCHECK
this DCHECK was not valid for hwasan_load1, and was not necessary for
the. the function is written without any assumptions of alignment of the
pointer.
Commit: 715a931864eff4021463d40b73ef4b1b63959f3f
https://github.com/llvm/llvm-project/commit/715a931864eff4021463d40b73ef4b1b63959f3f
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libc/spec/posix.td
Log Message:
-----------
[libc] Added tablegen definition for fileno (#85682)
This was missed in the previous PR. Updating tablegen definition with this PR.
Commit: f4e90e3f3c02a94a17bd8fe6ad18dbb46f92d027
https://github.com/llvm/llvm-project/commit/f4e90e3f3c02a94a17bd8fe6ad18dbb46f92d027
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M flang/runtime/freestanding-tools.h
M flang/runtime/numeric-templates.h
M flang/runtime/tools.cpp
M flang/runtime/tools.h
Log Message:
-----------
[flang][runtime] Get rid of warnings in F18 runtime CUDA build. (#85488)
Commit: ba2dc2953cdaaad63968296e3cbb1f06c1784114
https://github.com/llvm/llvm-project/commit/ba2dc2953cdaaad63968296e3cbb1f06c1784114
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
M compiler-rt/lib/msan/tests/CMakeLists.txt
M compiler-rt/test/asan_abi/CMakeLists.txt
M compiler-rt/test/fuzzer/CMakeLists.txt
M compiler-rt/test/memprof/CMakeLists.txt
M compiler-rt/test/msan/CMakeLists.txt
M compiler-rt/test/ubsan/CMakeLists.txt
M compiler-rt/test/xray/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Don't check COMPILER_RT_STANDALONE_BUILD for test deps
With https://github.com/llvm/llvm-project/pull/83088, we now need the
runtimes to be built before running test if
COMPILER_RT_TEST_STANDALONE_BUILD_LIBS is true, since otherwise we
get failures running `ninja check-all` such as the following:
```
/usr/bin/ld: cannot find .../compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.fuzzer-x86_64.a: No such file or directory
/usr/bin/ld: cannot find .../compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.xray-x86_64.a: No such file or directory
/usr/bin/ld: cannot find .../compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.xray-basic-x86_64.a: No such file or directory
/usr/bin/ld: cannot find .../compiler-rt/cmake-build-all-sanitizers/lib/linux/libclang_rt.xray-fdr-x86_64.a: No such file or directory
```
This is a follow-up to 058e9b03 which started removing these checks
and it should make it easier to stop forcing COMPILER_RT_STANDALONE_BUILD
for runtimes builds in the future.
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/83651
Commit: 2e6b18b3f3924d150c8837175938e76c3402f83f
https://github.com/llvm/llvm-project/commit/2e6b18b3f3924d150c8837175938e76c3402f83f
Author: Aart Bik <ajcbik at google.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
Log Message:
-----------
[mlir][sparse] add example to new operation doc, and roundtrip test (#85711)
Commit: 42c38b1cc5c1b216f4bd18c39b82fcd64ca20b90
https://github.com/llvm/llvm-project/commit/42c38b1cc5c1b216f4bd18c39b82fcd64ca20b90
Author: Aart Bik <ajcbik at google.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
Log Message:
-----------
[mlir][sparse] deallocate temporary transposed tensor (#85720)
Last resort resolution of cycles introduced a sparse conversion without
explicit sparse deallocation (which is not inserted by any automatic
means). This fixes 2 out of 5 remaining asan detected leaks in sparse
integration tests.
Commit: 8a6a0f1954937341abd501529f3d7454937110a5
https://github.com/llvm/llvm-project/commit/8a6a0f1954937341abd501529f3d7454937110a5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-module-use.cuf
Log Message:
-----------
[flang][cuda] Add proper TODO for cuda fortran assignment (#85705)
Data transfer between host and device can be done with assignment
statements in CUDA Fortran. This is currently not lowered so adding a
proper TODO.
https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-data-trans-assgn-statemts
Commit: 6ae77eca6ceb17033eb58440038e620eba1c6f51
https://github.com/llvm/llvm-project/commit/6ae77eca6ceb17033eb58440038e620eba1c6f51
Author: Kyungwoo Lee <kyulee at fb.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
Revert "[lld] Fix warnings"
This reverts commit 6800f422c22ffd672b1e31f0d0a3fa29d19b7a13 as the part of revert https://github.com/llvm/llvm-project/pull/82928.
buildbot failures: https://lab.llvm.org/buildbot/#/builders/168/builds/19302/steps/10/logs/stdio
Commit: 5373daad9492e157c0c1ad496334f5dfd78d7da0
https://github.com/llvm/llvm-project/commit/5373daad9492e157c0c1ad496334f5dfd78d7da0
Author: Kyungwoo Lee <kyulee at fb.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/ObjC.h
M lld/MachO/Options.td
R lld/test/MachO/objc-category-merging-complete-test.s
R lld/test/MachO/objc-category-merging-extern-class-minimal.s
Log Message:
-----------
Revert "[lld-macho] Implement ObjC category merging (-objc_category_merging) (#82928)"
This reverts commit ece2903ce730392e5236d27f1f387fa8067fcb1b, https://github.com/llvm/llvm-project/pull/82928.
https://github.com/llvm/llvm-project/pull/82928
Commit: d66121d74a458e098511b9de920d815440acaa1b
https://github.com/llvm/llvm-project/commit/d66121d74a458e098511b9de920d815440acaa1b
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/WebAssembly.h
M clang/test/Driver/wasm-toolchain.c
Log Message:
-----------
[WebAssembly] Change the default linker for `wasm32-wasip2` (#84569)
This commit changes the default linker in the WebAssembly toolchain for
the `wasm32-wasip2` target. This target is being added to the
WebAssembly/wasi-sdk and WebAssembly/wasi-libc projects to target the
Component Model by default, in contrast with the preexisting
`wasm32-wasi` target (in the process of being renamed to
`wasm32-wasip1`) which outputs a core WebAssembly module by default.
The `wasm-component-ld` project currently lives in my GitHub account at
https://github.com/alexcrichton/wasm-component-ld and isn't necessarily
"official" yet, but it's expected to continue to evolve as the
`wasm32-wasip2` target continues to shape up and evolve.
Commit: a629621454838207ca49bcfd773d5aa0671659f1
https://github.com/llvm/llvm-project/commit/a629621454838207ca49bcfd773d5aa0671659f1
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/inv_trigf_utils.cpp
M libc/src/math/generic/inv_trigf_utils.h
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/exhaustive/atanf_test.cpp
R libc/test/src/math/inv_trigf_utils_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Improve atanf performance. (#85463)
Simplify the range reduction logic and computations. Performance test
using `perf.sh` from CORE-MATH project on Ryzen 5900X:
Before:
```
$ ./perf.sh atanf --rdtsc --path1
LIBC-location: /home/lnt/experiment/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.35
GNU libc release: stable
-- CORE-MATH reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 14.369 + 0.556 clc/call; Median-Min = 0.613 clc/call; Max = 15.061 clc/call;
-- System LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 26.180 + 0.015 clc/call; Median-Min = 0.014 clc/call; Max = 26.260 clc/call;
-- LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 21.237 + 0.022 clc/call; Median-Min = 0.020 clc/call; Max = 21.272 clc/call;
$ ./perf.sh atanf --rdtsc --path1 --latency
LIBC-location: /home/lnt/experiment/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.35
GNU libc release: stable
-- CORE-MATH latency --
[####################] 100 %
Ntrial = 20 ; Min = 50.505 + 0.045 clc/call; Median-Min = 0.037 clc/call; Max = 50.579 clc/call;
-- System LIBC latency --
[####################] 100 %
Ntrial = 20 ; Min = 62.438 + 0.836 clc/call; Median-Min = 0.049 clc/call; Max = 64.498 clc/call;
-- LIBC latency --
[####################] 100 %
Ntrial = 20 ; Min = 67.781 + 0.546 clc/call; Median-Min = 0.028 clc/call; Max = 68.844 clc/call;
```
After:
```
$ ./perf.sh atanf --rdtsc --path2
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.35
GNU libc release: stable
-- CORE-MATH reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 14.400 + 0.353 clc/call; Median-Min = 0.404 clc/call; Max = 14.863 clc/call;
-- System LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 25.247 + 0.783 clc/call; Median-Min = 0.714 clc/call; Max = 26.238 clc/call;
-- LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 13.751 + 0.158 clc/call; Median-Min = 0.140 clc/call; Max = 14.006 clc/call;
$ ./perf.sh atanf --rdtsc --path2 --latency
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.35
GNU libc release: stable
-- CORE-MATH latency --
[####################] 100 %
Ntrial = 20 ; Min = 51.837 + 0.073 clc/call; Median-Min = 0.058 clc/call; Max = 52.000 clc/call;
-- System LIBC latency --
[####################] 100 %
Ntrial = 20 ; Min = 62.487 + 1.878 clc/call; Median-Min = 1.965 clc/call; Max = 64.569 clc/call;
OK
-- LIBC latency --
[####################] 100 %
Ntrial = 20 ; Min = 55.414 + 1.312 clc/call; Median-Min = 0.345 clc/call; Max = 58.362 clc/call;
```
Commit: a5f576e5961ecc099bd7ccf8565da090edc84b0d
https://github.com/llvm/llvm-project/commit/a5f576e5961ecc099bd7ccf8565da090edc84b0d
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M flang/lib/Semantics/check-do-forall.cpp
A flang/test/Semantics/forall02.f90
Log Message:
-----------
[flang] Diagnose calling impure final procedure due to finalization in FORALL (#85685)
This patch checks the LHS of an assignment in a FORALL loop and
diagnoses if any impure final procedure is called.
Commit: aec50cd840418097e8eeb4bd5d0672c95c08d1ec
https://github.com/llvm/llvm-project/commit/aec50cd840418097e8eeb4bd5d0672c95c08d1ec
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/test/tools/llvm-objdump/MachO/AArch64/macho-relative-method-lists.test
Log Message:
-----------
[NFC] Disable llvm-objdump test on AIX
After commit 9d5edfde5c3dbc4eb559d316e82e664f291fc2bf the test is failing on the AIX bot. XFAIL for now to unblock the bot and give time to investigate.
Commit: f6a2a55ba1fe1a4b720b8760704785d12137b35e
https://github.com/llvm/llvm-project/commit/f6a2a55ba1fe1a4b720b8760704785d12137b35e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
Log Message:
-----------
[flang][cuda] Handle lowering of stars in cuf kernel launch parameters (#85695)
Parsing of the cuf kernel loop directive has been updated to handle
variants with the * syntax. This patch updates the lowering to make use
of them.
- If the grid or block syntax uses only stars then the operation
variadic operand remains empty.
- If there is values and stars, then stars are represented as a zero
constant value.
Commit: a2527e06d77766d00e83ecb7988844aae7088bb1
https://github.com/llvm/llvm-project/commit/a2527e06d77766d00e83ecb7988844aae7088bb1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Put erroneously removed braces back into a unit test
See https://github.com/llvm/llvm-project/pull/85470#discussion_r1528904789
Commit: bda05140fb758156ae35f3919e6283d94bfa3905
https://github.com/llvm/llvm-project/commit/bda05140fb758156ae35f3919e6283d94bfa3905
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M libc/src/math/generic/inv_trigf_utils.h
Log Message:
-----------
[libc] Remove constexpr from atan_eval and asin_eval. (#85725)
Fix aarch64 and gcc full build bots:
https://lab.llvm.org/buildbot/#/builders/223/builds/38235/steps/4/logs/stdio
Commit: e04dd68a3a26d3ebdc2db07cf2f8807a02d30ce2
https://github.com/llvm/llvm-project/commit/e04dd68a3a26d3ebdc2db07cf2f8807a02d30ce2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
Log Message:
-----------
[GlobalMerge] Use vector::assign in place of fill+resize. NFC (#85723)
Noticed while reviewing the code.
If the resize causes a new allocation, this will fill the new allocation
with zeroes directly. Previously, we would fill the old allocation with
zeroes, then copy them to the new allocation before filling the
additional space with zeros.
Commit: 924a1dceb59944fa9051acbbb7d2daac129ee0ef
https://github.com/llvm/llvm-project/commit/924a1dceb59944fa9051acbbb7d2daac129ee0ef
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Verifier.cpp
M llvm/test/Assembler/debug-info.ll
A llvm/test/DebugInfo/AArch64/ptrauth.ll
M llvm/unittests/IR/MetadataTest.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
Log Message:
-----------
[Dwarf] Support `__ptrauth` qualifier in metadata nodes (#83862)
Reland #82363 after fixing build failure
https://lab.llvm.org/buildbot/#/builders/5/builds/41428.
Memory sanitizer detects usage of `RawData` union member which is not
filled directly. Instead, the code relies on filling `Data` union
member, which is a struct consisting of signing schema parameters.
According to https://en.cppreference.com/w/cpp/language/union, this is
UB:
"It is undefined behavior to read from the member of the union that
wasn't most recently written".
Instead of relying on compiler allowing us to do dirty things, do not
use union and only store `RawData`. Particular ptrauth parameters are
obtained on demand via bit operations.
Original PR description below.
Emit `__ptrauth`-qualified types as `DIDerivedType` metadata nodes in IR
with tag `DW_TAG_LLVM_ptrauth_type`, baseType referring to the type
which has the qualifier applied, and the following parameters
representing the signing schema:
- `ptrAuthKey` (integer)
- `ptrAuthIsAddressDiscriminated` (boolean)
- `ptrAuthExtraDiscriminator` (integer)
- `ptrAuthIsaPointer` (boolean)
- `ptrAuthAuthenticatesNullValues` (boolean)
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: ff60a84f04b4d8af63d581d4f9dd7ab0196a200e
https://github.com/llvm/llvm-project/commit/ff60a84f04b4d8af63d581d4f9dd7ab0196a200e
Author: Malay Sanghi <malay.sanghi at intel.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePassManager.h
Log Message:
-----------
Convert copy to r-value reference. (#85606)
That seems to be the intention based on calling code.
Commit: b1752ddf0a97969cdd931e6431c953cfd4079e50
https://github.com/llvm/llvm-project/commit/b1752ddf0a97969cdd931e6431c953cfd4079e50
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
Log Message:
-----------
[mlir][sparse] Fix memory leaks (part 4) (#85729)
This commit fixes memory leaks in sparse tensor integration tests by
adding `bufferization.dealloc_tensor` ops.
Note: Buffer deallocation will be automated in the future with the
ownership-based buffer deallocation pass, making `dealloc_tensor`
obsolete (only codegen path, not when using the runtime library).
This commit fixes the remaining memory leaks in the MLIR test suite.
`check-mlir` now passes when built with ASAN.
Commit: cb2ca23345d3d9bde027a18d301949e8bdf606a6
https://github.com/llvm/llvm-project/commit/cb2ca23345d3d9bde027a18d301949e8bdf606a6
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[llvm-shlib] Fix the version naming style of libLLVM for Windows (#85710)
This reverts the changes from 91a384621e5b762d9c173ffd247cfeadd5f436a2
for Windows targets. The changes in that commit don't work as expected
for Windows targets (those parts of llvm_add_library don't quite behave
the same for Windows), while the previous status quo (producing a
library named "libLLVM-<major>.dll") is the defacto standard way of
doing versioned library names there, contrary to on Unix.
After that commit, the library always ended up named "libLLVM.dll",
executables linking against it would reference "libLLVM.dll", and
"libLLVM-<major>.dll" was provided as a symlink.
Thus revert this bit back to as it were, so that executables actually
link against a versioned libLLVM, and no separate symlink is needed.
The only thing that might be improved compared to the status quo as it
was before these changes, is that the import library is named
"lib/libLLVM-<major>.dll.a", while the common style would be to name it
plainly "lib/libLLVM.dll.a" (even while it produces references to
"libLLVM-<major>.dll", but none of these had that effect for Windows
targets.
(As a side note, the llvm-shlib library can be built for MinGW, but not
currently in MSVC configurations.)
Commit: f0a5e5055029e9ab1c49a8580f09fa4c0e172ee1
https://github.com/llvm/llvm-project/commit/f0a5e5055029e9ab1c49a8580f09fa4c0e172ee1
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
Log Message:
-----------
[llvm][NVPTX] Add missing feature guard.
Commit: 110f630105aed0670d82427fea55afbabc4a94c4
https://github.com/llvm/llvm-project/commit/110f630105aed0670d82427fea55afbabc4a94c4
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[KnownBits] Remove useless lambdas from unit test
Commit: eb5623d10147d1069885ccaa57d81fae3260b926
https://github.com/llvm/llvm-project/commit/eb5623d10147d1069885ccaa57d81fae3260b926
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/test/TableGen/MacroFusion.td
Log Message:
-----------
[MacroFusion] Complete tests and fix indents
Commit: 59ff3adcc1310e22ab31163767e49b4edb20c6b4
https://github.com/llvm/llvm-project/commit/59ff3adcc1310e22ab31163767e49b4edb20c6b4
Author: martinboehme <mboehme at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
A clang/include/clang/Analysis/FlowSensitive/AdornedCFG.h
M clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/Logger.h
M clang/include/clang/Analysis/FlowSensitive/Transfer.h
M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
A clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
R clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Logger.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/DeterminismTest.cpp
M clang/unittests/Analysis/FlowSensitive/LoggerTest.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
Log Message:
-----------
[clang][dataflow][NFC] Rename `ControlFlowContext` to `AdornedCFG`. (#85640)
This expresses better what the class actually does, and it reduces the
number of
`Context`s that we have in the codebase.
A deprecated alias `ControlFlowContext` is available from the old
header.
Commit: eac68447adac3852524c66acac7ab64d90205f47
https://github.com/llvm/llvm-project/commit/eac68447adac3852524c66acac7ab64d90205f47
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[gn build] Port 59ff3adcc131
Commit: b788e4655c4e06f6821bc220e5745d6a4f9d4d09
https://github.com/llvm/llvm-project/commit/b788e4655c4e06f6821bc220e5745d6a4f9d4d09
Author: martinboehme <mboehme at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/RecordOps.h
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Model assignment to derived class from base. (#85064)
This is a relatively rare case, but
- It's still nice to get this right,
- We can remove the special case for this in
`VisitCXXOperatorCallExpr()` (that
simply bails out), and
- With this in place, I can avoid having to add a similar special case
in an
upcoming patch.
Commit: 5e486d17d4793e5114245b9a04a566ef45ffb21b
https://github.com/llvm/llvm-project/commit/5e486d17d4793e5114245b9a04a566ef45ffb21b
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/Target/Target.td
A llvm/include/llvm/Target/TargetMacroFusion.td
M llvm/include/llvm/Target/TargetSchedule.td
Log Message:
-----------
[TableGen][NFC] Move MacroFusion classes to TargetMacroFusion.td
To make structure clear.
Reviewers: dtcxzyw, arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/85748
Commit: 703920d4138d02bde4f4bf70ba809b63bef25c37
https://github.com/llvm/llvm-project/commit/703920d4138d02bde4f4bf70ba809b63bef25c37
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/hadd-combine.ll
Log Message:
-----------
[DAG] Matched FixedWidth pattern for ISD::AVGFLOORU (#84903)
Fixes: #84749
Commit: 6aaf9c83099b80e73ef2208ae9f7f300c7808659
https://github.com/llvm/llvm-project/commit/6aaf9c83099b80e73ef2208ae9f7f300c7808659
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Sanitize collectBaseOffset parameters
Commit: a747e86caacf0ba3d5272474da8c10eb0b67dbc2
https://github.com/llvm/llvm-project/commit/a747e86caacf0ba3d5272474da8c10eb0b67dbc2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/fpcast.ll
Log Message:
-----------
[InstCombine] Fold `fpto{s|u}i non-norm` to zero (#85569)
This patch enables more optimization after canonicalizing `fmul X, 0.0`
into a copysign.
I decide to implement this fold in InstCombine because
`computeKnownFPClass` may be expensive.
Alive2: https://alive2.llvm.org/ce/z/ASM8tQ
Commit: 1a6953a75d3120a4f9196911e6a6b79fcc315553
https://github.com/llvm/llvm-project/commit/1a6953a75d3120a4f9196911e6a6b79fcc315553
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
Log Message:
-----------
ValueTracking: Fix bug with fcmp false to nan constant
If we had a comparison to a literal nan with a false predicate,
we were incorrectly treating it as an unordered compare. This was
correct for fcmp true, but not fcmp false. I noticed this in the
review for e44d3b3e503fa12fdaead2936b28844aa36237c1 but misdiagnosed
the reason. Also change the test for the fcmp true case to be more
useful, but it wasn't wrong previously.
Commit: 0d40de754a8fc34e606d0a83902f950606f42385
https://github.com/llvm/llvm-project/commit/0d40de754a8fc34e606d0a83902f950606f42385
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/InterpFrame.h
Log Message:
-----------
[clang][Interp][NFC] Add InterpFrame::dump()
Commit: 29849d589c1969f6a07a69ef0d7a19896d358bc5
https://github.com/llvm/llvm-project/commit/29849d589c1969f6a07a69ef0d7a19896d358bc5
Author: nicebert <110385235+nicebert at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M openmp/libomptarget/test/api/ompx_dump_mapping_tables.cpp
Log Message:
-----------
[OpenMP] Fix ompx_dump_mapping_tables lit test (#85754)
Fixes ompx_dump_mapping_tables test by only using one device after
breaking built bots
Commit: db6049112790f6bee51883b6aa99d0660f17e3a5
https://github.com/llvm/llvm-project/commit/db6049112790f6bee51883b6aa99d0660f17e3a5
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
Log Message:
-----------
[mlir][bufferization] Check OpFilter before casting to BufferizableOpInterface (#85690)
This doesn't change functionality, but lets us avoid attaching all the
interfaces after 513cdb82223a106f183b49a40d9acb1f7efbbe7e turned casting
without loading into an error.
Commit: 5e379b63fcd942017593d278c8c2313744413904
https://github.com/llvm/llvm-project/commit/5e379b63fcd942017593d278c8c2313744413904
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
Log Message:
-----------
[AMDGPU][PromoteAlloca] Drop bitcast handling (#85747)
This is no longer needed with opaque pointers.
Commit: a4b23638d23d603001c19285a7c7535a8ce81317
https://github.com/llvm/llvm-project/commit/a4b23638d23d603001c19285a7c7535a8ce81317
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/lib/IR/AffineExpr.cpp
A mlir/unittests/IR/AffineExprTest.cpp
M mlir/unittests/IR/CMakeLists.txt
Log Message:
-----------
[mlir] Don't assert when simplifying certain `AffineExpr`s (#78855)
Currently, `simplifyMul()` asserts that either `lhs` or `rhs` is
symbolic or constant. This method is called by the overloaded `*`
operator for `AffineExpr`s which leads to a crash when building a
multiplication expression where neither operand is symbolic or constant.
This patch returns a `nullptr` from `simplifyMul()` to signal that the
expression could not be simplified instead.
Fix https://github.com/llvm/llvm-project/issues/75770
Commit: e85bfa65651eb45aefc8a9233e160f27af55f894
https://github.com/llvm/llvm-project/commit/e85bfa65651eb45aefc8a9233e160f27af55f894
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/test/Driver/aarch64-mcpu.c
M clang/test/Misc/target-invalid-cpu-note.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/TargetParser/Host.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add support for Cortex-A520AE and Cortex-A720AE CPUs (#85401)
[AArch64] Add support for Cortex-A520AE and Cortex-A720AE CPUs
Cortex-A520AE and Cortex-A720AE are Armv9.2 AArch64 CPUs.
Technical Reference Manual for Cortex-A520AE:
https://developer.arm.com/documentation/107726/latest/
Technical Reference Manual for Cortex-A720AE:
https://developer.arm.com/documentation/102828/latest/
Commit: 29cde04c3972a54efeb6d09b1580b275f39c315a
https://github.com/llvm/llvm-project/commit/29cde04c3972a54efeb6d09b1580b275f39c315a
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
Log Message:
-----------
[clang-format] Fixed the warning in building document for TableGenBreakingDAGArgOperators. (#85760)
Intend to fix the `Test documentation build `, degraded here
https://github.com/llvm/llvm-project/pull/83149 .
Commit: 6bc6e1ace9fa8453e164fa04b5d9acd5a77e089a
https://github.com/llvm/llvm-project/commit/6bc6e1ace9fa8453e164fa04b5d9acd5a77e089a
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M compiler-rt/test/tsan/signal_thread.cpp
Log Message:
-----------
[tsan][test] Switch setitimer(ITIMER_REAL, ...) to setitimer(ITIMER_VIRTUAL, ...)
Followup to #85188.
Commit: d9c31ee9568277e4303715736b40925e41503596
https://github.com/llvm/llvm-project/commit/d9c31ee9568277e4303715736b40925e41503596
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/int-usub-12.ll
M llvm/test/CodeGen/SystemZ/int-usub-13.ll
Log Message:
-----------
Fix overflow flag for i128 USUBO
We use the VSCBIQ/VSBIQ/VSBCBIQ family of instructions to implement
USUBO/USUBO_CARRY for the i128 data type. However, these instructions
use an inverted sense of the borrow indication flag (a value of 1
indicates *no* borrow, while a value of 0 indicated borrow). This
does not match the semantics of the boolean "overflow" flag of the
USUBO/USUBO_CARRY ISD nodes.
Fix this by generating code to explicitly invert the flag. These
cancel out of the result of USUBO feeds into an USUBO_CARRY.
To avoid unnecessary zero-extend operations, also improve the
DAGCombine handling of ZERO_EXTEND to optimize (zext (xor (trunc)))
sequences where appropriate.
Fixes: https://github.com/llvm/llvm-project/issues/83268
Commit: 8eee236021f72821d628ec31d8e8d1f92e7821d3
https://github.com/llvm/llvm-project/commit/8eee236021f72821d628ec31d8e8d1f92e7821d3
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
Log Message:
-----------
[flang] Lower sequence associated argument passed by descriptor (#85696)
The current lowering did not handle sequence associated argument passed
by descriptor. This case is special because sequence association implies
that the actual and dummy argument need to to agree in rank and shape.
Usually, arguments that can be sequence associated are passed by raw
address, and the shape mistmatch is transparent. But there are three
cases of explicit and assumed-size arrays passed by descriptors:
- polymorphic arguments
- BIND(C) assumed-length arguments (F'2023 18.3.7 (5)).
- length parametrized derived types (TBD)
The callee side is expecting a descriptor containing the dummy rank and
shape. This was not the case. This patch fix that by evaluating the
dummy shape on the caller side using the interface (that has to be
available when arguments are passed by descriptors).
Commit: 9f6b6636c77ad4736c66efd0119b3be4541e9af4
https://github.com/llvm/llvm-project/commit/9f6b6636c77ad4736c66efd0119b3be4541e9af4
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M flang/include/flang/Semantics/openmp-directive-sets.h
Log Message:
-----------
[Flang][OpenMP] Complete and organize directive sets (#85219)
This patch adds a couple of new directive sets for composite constructs,
completes some of the existing ones with missing values, refactors all*
sets to always build on the corresponding top* set and reorders sets and
directives alphabetically.
No functional change intended.
Commit: 577306133e14fc4f448b010920dc446607fcabaf
https://github.com/llvm/llvm-project/commit/577306133e14fc4f448b010920dc446607fcabaf
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
Log Message:
-----------
[mlir][bufferization] Fix OpFilter not to crash on unloaded dialects
Commit: d1c37959686db3303f6d5ffaeee12be12facc640
https://github.com/llvm/llvm-project/commit/d1c37959686db3303f6d5ffaeee12be12facc640
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/int-usub-12.ll
M llvm/test/CodeGen/SystemZ/int-usub-13.ll
Log Message:
-----------
Revert "Fix overflow flag for i128 USUBO"
This reverts commit d9c31ee9568277e4303715736b40925e41503596.
Commit: d0829fbdeda0a2faa8cf684e1396e579691bdfa2
https://github.com/llvm/llvm-project/commit/d0829fbdeda0a2faa8cf684e1396e579691bdfa2
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/test/Driver/driver-help-hidden.f90
R flang/test/Driver/flang-experimental-polymorphism-flag.f90
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Fir/dispatch.f90
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/call_with_poly_dummy.f90
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-return.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg-polymorphic.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/designators-component-ref.f90
M flang/test/Lower/HLFIR/designators-parameter-array-slice.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-polymorphic-merge.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/function-return-destroy.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/ignore-type-assumed-shape.f90
M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
M flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
M flang/test/Lower/HLFIR/intrinsic-assumed-type.f90
M flang/test/Lower/HLFIR/parent-component-ref.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/polymorphic-expressions.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/transpose.f90
M flang/test/Lower/HLFIR/type-bound-call-mismatch.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/Intrinsics/extends_type_of.f90
M flang/test/Lower/Intrinsics/same_type_as.f90
M flang/test/Lower/Intrinsics/sizeof.f90
M flang/test/Lower/Intrinsics/spread.f90
M flang/test/Lower/Intrinsics/storage_size.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-return.f90
M flang/test/Lower/assumed-type.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/dispatch-table.f90
M flang/test/Lower/dispatch.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/io-derived-type-2.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/pass-null-for-class-arg.f90
M flang/test/Lower/pointer-association-polymorphic.f90
M flang/test/Lower/pointer-disassociate.f90
M flang/test/Lower/polymorphic-temp.f90
M flang/test/Lower/polymorphic-types.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type-2.f90
M flang/test/Lower/select-type.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Enable polymorphic lowering by default (#83285)
Polymorphic entity lowering status is good. The main remaining TODO is
to allow lowering of vector subscripted polymorphic entity, but this
does not deserve blocking all application using polymorphism.
Remove experimental option and enable lowering of polymorphic entity by
default.
Commit: d671ebe46ce6bb542ab81ea120751c985f3fe4a3
https://github.com/llvm/llvm-project/commit/d671ebe46ce6bb542ab81ea120751c985f3fe4a3
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[Flang][Lower] NFC: Replace SmallVector with more suitable alternatives (#85227)
In this patch some uses of `llvm::SmallVector` in Flang's lowering to
MLIR are replaced by other types (i.e. `llvm::ArrayRef` and
`llvm::SmallVectorImpl`) which are intended for these uses. This
generally prevents relying on always passing small vectors with a
particular number of elements in the stack.
Commit: aeb4dd14440dd7a0f11cb9a97a733b08323f56c9
https://github.com/llvm/llvm-project/commit/aeb4dd14440dd7a0f11cb9a97a733b08323f56c9
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/Support/AMDHSAKernelDescriptor.h
M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
Log Message:
-----------
Fix macro expansion for AMDHSA_BITS_SET (#85661)
Corrects the `AMDHSA_BITS_SET` macro.
Commit: 953c13b5c90bed1e24fe95e90137c4e226ac2d09
https://github.com/llvm/llvm-project/commit/953c13b5c90bed1e24fe95e90137c4e226ac2d09
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
A llvm/test/CodeGen/AMDGPU/promote-alloca-scoring.ll
Log Message:
-----------
[AMDGPU][PromoteAlloca] Whole-function alloca promotion to vector (#84735)
Update PromoteAllocaToVector so it considers the whole function before promoting allocas.
Allocas are scored & sorted so the highest value ones are seen first. The budget is now per function instead of per alloca.
Passed internal performance testing.
Commit: ccf042e90e1b987d69f01378ed89b832f86d434a
https://github.com/llvm/llvm-project/commit/ccf042e90e1b987d69f01378ed89b832f86d434a
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
Log Message:
-----------
[mlir][complex] Make CPU runner test platform agnostic (#85607)
Commit: c9bdeabdf4b46fbf1f6a9fcbf9cd61d460b18c08
https://github.com/llvm/llvm-project/commit/c9bdeabdf4b46fbf1f6a9fcbf9cd61d460b18c08
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M compiler-rt/test/tsan/signal_sync.cpp
Log Message:
-----------
[tsan][test] Switch setitimer(ITIMER_REAL, ...) to setitimer(ITIMER_VIRTUAL, ...)
Followup to #85188
Commit: 00ca80938b732ee43deb2a94bec1c7efef3025d4
https://github.com/llvm/llvm-project/commit/00ca80938b732ee43deb2a94bec1c7efef3025d4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/IR/ConstantFold.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
Log Message:
-----------
[ConstantFold] Fix comparison between special pointer constants
This code was assuming that the LHS would always be one of
GlobalVariable, BlockAddress or ConstantExpr. However, it can
also be a special constant like dso_local_equivalent or no_cfi.
Make sure this is handled gracefully.
Commit: 7edfbf2af2253297f48ff8adaba99373f67e8dca
https://github.com/llvm/llvm-project/commit/7edfbf2af2253297f48ff8adaba99373f67e8dca
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
Log Message:
-----------
[lldb][DataFormatter] Fix format specifiers in LibCxxSliceArray summary provider (#85763)
This caused following warnings in an LLDB build:
```
[237/1072] Building CXX object tools/l...lusLanguage.dir/LibCxxSliceArray.cpp.o
/Volumes/Data/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp:38:53: warning: format specifies type 'unsigned long long' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
38 | stream.Printf("stride=%" PRIu64 " size=%" PRIu64, stride, size);
| ~~~~~~~~~ ^~~~~~
/Volumes/Data/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp:38:61: warning: format specifies type 'unsigned long long' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
38 | stream.Printf("stride=%" PRIu64 " size=%" PRIu64, stride, size);
| ~~~~~~~~~ ^~~~
2 warnings generated.
```
This patch simply changes the format specifiers to use the `%zu` for
`size_t`s.
Commit: 078aaf1f78e5df55618b71f1fe75993e4ccb6a72
https://github.com/llvm/llvm-project/commit/078aaf1f78e5df55618b71f1fe75993e4ccb6a72
Author: wanglei <wanglei at loongson.cn>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/MC/LoongArch/Macros/macros-li-bad.s
Log Message:
-----------
[LoongArch] Add diagnostics for PseudoLI_D instruction (#85742)
Simultaneously improved diagnostic testing for the `PseudoLI_W`
instruction.
Commit: 2f2f16f32bb2a6c250b19adbc229d9dc3b38640c
https://github.com/llvm/llvm-project/commit/2f2f16f32bb2a6c250b19adbc229d9dc3b38640c
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[Flang][OpenMP][Lower] NFC: Move clause processing helpers into the ClauseProcessor (#85258)
This patch moves some code in PFT to MLIR OpenMP lowering to the
`ClauseProcessor` class. This is so that some behavior that is related
to certain clauses stays within the `ClauseProcessor` and it's not the
caller the one responsible for always doing this when the clause is
present.
Commit: d712c5ed8fab4940ae0480e01fc72a944cbb79e6
https://github.com/llvm/llvm-project/commit/d712c5ed8fab4940ae0480e01fc72a944cbb79e6
Author: martinboehme <mboehme at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Make optional checker work for types derived from optional. (#84138)
`llvm::MaybeAlign` does this, for example.
It's not an option to simply ignore these derived classes because they
get cast
back to the optional classes (for example, simply when calling the
optional
member functions), and our transfer functions will then run on those
optional
classes and therefore require them to be properly initialized.
Commit: 4a6bc9fd14bd79f1edf5b651b43bd9bda9b90991
https://github.com/llvm/llvm-project/commit/4a6bc9fd14bd79f1edf5b651b43bd9bda9b90991
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/Target/TargetMacroFusion.td
M llvm/test/TableGen/MacroFusion.td
Log Message:
-----------
[MacroFusion] Add SingleFusion that accepts a single instruction pair
We add a common class `SingleFusion` that accepts a single instruction
pair to simplify fusion definitions.
Pull Request: https://github.com/llvm/llvm-project/pull/85750
Commit: 4f909da6bc880b816e000159ce2bf69862d0936e
https://github.com/llvm/llvm-project/commit/4f909da6bc880b816e000159ce2bf69862d0936e
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/test/Bitcode/dbg-record-roundtrip.ll
M llvm/tools/llvm-dis/llvm-dis.cpp
Log Message:
-----------
[RemoveDIs] Add flag to control loading into new debug mode from bitcode (#85649)
--load-bitcode-into-experimental-debuginfo-iterators
false: Convert to the old debug mode after reading.
true: Upgrade to the new debug info format (*).
unset: Same as false (for now).
(*) As of this patch it actually just means "don't convert to either
mode after loading". Auto-upgrading will be implemented in an upcoming
patch.
With this flag we can incrementally add support for RemoveDIs by
overriding the "unset" behaviour in individual tools. The flag can be
removed once all tools support the new debug info mode.
Commit: d4fb50d3e5fdf4aba4981371af53aa8fbbd6bf20
https://github.com/llvm/llvm-project/commit/d4fb50d3e5fdf4aba4981371af53aa8fbbd6bf20
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Split TransformDialect into a header-only lib in prep for PR85221
This lets users use TensorDialect without depending on all dialects
transitively. 513cdb82223a106f183b49a40d9acb1f7efbbe7e forces that
otherwise.
Commit: 08701e35ed6f29a2fca095a31f1ebbfe059d6d6e
https://github.com/llvm/llvm-project/commit/08701e35ed6f29a2fca095a31f1ebbfe059d6d6e
Author: Pravin Jagtap <prjagtap at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
Log Message:
-----------
[AMDGPU][NFC] Test clean up. (#85775)
Added common check for DPP and Iterative strategies for uniform value
case since optimization applied is same.
Authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>
Commit: afec08ef9f1015ea3fe8d67b92acfbb7837c6e9f
https://github.com/llvm/llvm-project/commit/afec08ef9f1015ea3fe8d67b92acfbb7837c6e9f
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/bmiintrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/intrin.h
A clang/lib/Headers/intrin0.h
M clang/lib/Headers/keylockerintrin.h
M clang/lib/Headers/x86gprintrin.h
M clang/lib/Headers/x86intrin.h
A clang/lib/Headers/yvals_core.h
Log Message:
-----------
[clang] Add `intrin0.h` header to mimic `intrin0.h` used by MSVC STL for clang-cl (#75711)
Fixes https://github.com/llvm/llvm-project/issues/53520.
#### Description ####
Provide `intrin0.h` to be the minimal set of intrinsics that the MSVC
STL requires.
The `intrin0.h` header matches the latest header provided by MSVC 1939
which does include some extra intrinsics that the MSVC STL does not use.
Inside `BuiltinHeaders.def` I kept the header description as `intrin.h`.
If you want me to change those to `intrin0.h` for the moved intrinsics
let me know.
This should now allow `immintrin.h` to be used with function targets for
runtime cpu detection of simd instruction sets without worrying about
the compile-time overhead from MSVC STL including `intrin.h` on clang.
I still need to figure out how to best update MSVC STL to detect for the
presence of `intrin0.h` from clang and to use this header over
`intrin.h`.
#### Testing ####
Built clang locally and ran the test suite. I still need to do a pass
over the existing unit tests for the ms intrinsics to make sure there
aren't any gaps. Wanted to get this PR up for discussion first.
Modified latest MSVC STL from github to point to `intrin0.h` for clang.
Wrote some test files that included MSVC STL headers that rely on
intrinsics such as `atomic`, `bit` and `vector`. Built the unit tests
against x86, arm, aarch64, and x64.
#### Benchmarks ####
The following include times are based on the x64 target with the
modified headers in this PR.
These timings were done by using `clang-cl.exe -ftime-trace` and taking
the wall time for parsing `intrin.h` and `intrin0.h`.
`intrin.h` takes ~897ms to parse.
`intrin0.h` takes ~1ms to parse.
If there is anything required or a different approach is preferred let
me know. I would very much like to move this over the finish line so we
can use function targets with clang-cl.
Commit: 4e612a62bd0f3c4f182ecd7652f92d288fc06894
https://github.com/llvm/llvm-project/commit/4e612a62bd0f3c4f182ecd7652f92d288fc06894
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port afec08ef9f10
Commit: 97fc16e14b16bd44dee1e1bf7211b4688b67027d
https://github.com/llvm/llvm-project/commit/97fc16e14b16bd44dee1e1bf7211b4688b67027d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitEXTRACT_VECTOR_ELT - share the same SDLoc instead of recreating it. NFC.
Commit: 9f433bf8cada5855669b43ff70263a1b61128ca4
https://github.com/llvm/llvm-project/commit/9f433bf8cada5855669b43ff70263a1b61128ca4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-pavg.ll
Log Message:
-----------
[X86] Add PAVG(0,x) test coverage for PR #85581
Commit: 9a3ece232ced907f87ed0d5846a57f6d9cbc9832
https://github.com/llvm/llvm-project/commit/9a3ece232ced907f87ed0d5846a57f6d9cbc9832
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/lib/ExecutionEngine/Float16bits.cpp
Log Message:
-----------
[mlir][sparse] Fix the calling convention of __truncsfbf2 on windows x64
It also wants us to return the value in XMM0.
Commit: ef520ca6b18cf65fc7a13fcad1534f1d70332a88
https://github.com/llvm/llvm-project/commit/ef520ca6b18cf65fc7a13fcad1534f1d70332a88
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
Log Message:
-----------
Revert "[RISCV] Recursively split concat_vector into smaller LMULs (#83035)"
This reverts commit c59129a7c79448837d665de8f2743ad4b14666f6.
This causes regressions in some x264 workloads like pixel_var_8x8 due to it
interfering with the strided load combine. Reverting so I can try to rework
it as a lowering instead.
Commit: 92764c99e97ab2b347072718ba2a6799b3fe41c7
https://github.com/llvm/llvm-project/commit/92764c99e97ab2b347072718ba2a6799b3fe41c7
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/hadd-combine.ll
Log Message:
-----------
[DAG] Matched Fixedwidth Pattern for ISD::AVGCEILU (#85031)
Fixes: #84753
Commit: 930f21c6bc0fe05c1d08be6353f7c7c6c51f4dc0
https://github.com/llvm/llvm-project/commit/930f21c6bc0fe05c1d08be6353f7c7c6c51f4dc0
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Trim TransformDialectInterfaces to the bare minimum
Commit: e9da5f0083d12a7284c780e916c17b6a2785933e
https://github.com/llvm/llvm-project/commit/e9da5f0083d12a7284c780e916c17b6a2785933e
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
A openmp/libomptarget/test/offloading/fortran/target-nested-target-data.f90
Log Message:
-----------
[OpenMP] Fix target data region codegen being omitted for device pass (#85218)
This patch enables the BodyCodeGen callback to still trigger for the
TargetData nested region during the device pass. There maybe Target code
nested within the TargetData region for which this is required.
Also add tests for the same.
Commit: 335f3659820e2e771f5165d215300567be478b13
https://github.com/llvm/llvm-project/commit/335f3659820e2e771f5165d215300567be478b13
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/int-usub-12.ll
M llvm/test/CodeGen/SystemZ/int-usub-13.ll
Log Message:
-----------
Reapply: [SystemZ] Fix overflow flag for i128 USUBO
We use the VSCBIQ/VSBIQ/VSBCBIQ family of instructions to implement
USUBO/USUBO_CARRY for the i128 data type. However, these instructions
use an inverted sense of the borrow indication flag (a value of 1
indicates *no* borrow, while a value of 0 indicated borrow). This
does not match the semantics of the boolean "overflow" flag of the
USUBO/USUBO_CARRY ISD nodes.
Fix this by generating code to explicitly invert the flag. These
cancel out of the result of USUBO feeds into an USUBO_CARRY.
To avoid unnecessary zero-extend operations, also improve the
DAGCombine handling of ZERO_EXTEND to optimize (zext (xor (trunc)))
sequences where appropriate.
Fixes: https://github.com/llvm/llvm-project/issues/83268
Commit: 175ad6630a869831126dde80f0f9257f9c4c477f
https://github.com/llvm/llvm-project/commit/175ad6630a869831126dde80f0f9257f9c4c477f
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/test/Analysis/out-of-bounds-diagnostics.c
M clang/test/Analysis/taint-diagnostic-visitor.c
Log Message:
-----------
[analyzer] Mention possibility of underflow in array overflow errors (#84201)
The checker alpha.security.ArrayBoundV2 performs bounds checking in two
steps: first it checks for underflow, and if it isn't guaranteed then it
assumes that there is no underflow. After this, it checks for overflow,
and if that's guaranteed or the index is tainted then it reports it.
This meant that in situations where overflow and underflow are both
possible (but the index is either tainted or guaranteed to be invalid),
the checker was reporting just an overflow error.
This commit modifies the messages printed in these cases to mention the
possibility of an underflow.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 4b10d1fdd31f46a9cdf3e7a196f9934d766a922f
https://github.com/llvm/llvm-project/commit/4b10d1fdd31f46a9cdf3e7a196f9934d766a922f
Author: Zack Johnson <zacklj89 at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[compiler-rt] Fixing UB on Windows for trampoline allocations (#85639)
Fixing the type of the constant to avoid undefined behavior with respect
to overflow.
Commit: 9f80444c2e669237a5c92013f1a42b91b5609012
https://github.com/llvm/llvm-project/commit/9f80444c2e669237a5c92013f1a42b91b5609012
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
Revert "[Flang][OpenMP][Lower] NFC: Move clause processing helpers into the ClauseProcessor (#85258)"
Reverting due to failing gfortran test.
This reverts commit 2f2f16f32bb2a6c250b19adbc229d9dc3b38640c.
Commit: 94c6ce1de92f56879cad1bfa12ba23ef0ecfcd91
https://github.com/llvm/llvm-project/commit/94c6ce1de92f56879cad1bfa12ba23ef0ecfcd91
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLPVectorizer] Use IRBuilderBase where possible (NFC)
Instead of hardcoding a specific IRBuilder type, use the base
class.
Commit: 835c1b56a82542d91c337e24140bd2b08a7bf715
https://github.com/llvm/llvm-project/commit/835c1b56a82542d91c337e24140bd2b08a7bf715
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/test/Bitcode/DIExpression-aggresult.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
M llvm/test/Bitcode/upgrade-dbg-addr.ll
Log Message:
-----------
[RemoveDIs] Auto-upgrade debug intrinsics to DbgRecords (default false) (#85650)
If --load-bitcode-into-experimental-debuginfo-iterators is true then debug
intrinsics are auto-upgraded to DbgRecords (the new debug info format).
The upgrade is trivial because the two representations are semantically
identical. llvm.dbg.value with 4 operands and llvm.dbg.addr intrinsics are
upgraded in the same way as usual, but converted directly into DbgRecords
instead of debug intrinsics.
Commit: 5b59b3afe1cfe52c3c2cb9c9817ca21e589928a0
https://github.com/llvm/llvm-project/commit/5b59b3afe1cfe52c3c2cb9c9817ca21e589928a0
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
Log Message:
-----------
[NFC][RemoveDIs] Switch constant-hoisting to insert with iterators (#84738)
Seeing how constant-hoisting also happens to store an insertion-point in
a DenseMap, this means we have to install DenseMapInfo for hashing
BasicBlock::iterators and comparing them. I'm not really sure where to
put the DenseMapInfo declarations as BasicBlock.h seems most logical,
but that then means including DenseMap.h into pretty much all of LLVM.
I've sent this up to the compile time tracker to see whether there's a
major cost from this.
---------
Merged by: Stephen Tozer <stephen.tozer at sony.com>
Commit: c1328db9d8e41bb96e031eb3dfa884e56b07244b
https://github.com/llvm/llvm-project/commit/c1328db9d8e41bb96e031eb3dfa884e56b07244b
Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
Log Message:
-----------
[clang][dataflow] Refactor processing of terminator element (#84499)
This patch vastly simplifies the code handling terminators, without
changing any
behavior. Additionally, the simplification unblocks our ability to
address a
(simple) FIXME in the code to invoke `transferBranch`, even when builtin
options
are disabled.
Commit: d93363a0e803a9fb2889ff03237f4e93aacf0108
https://github.com/llvm/llvm-project/commit/d93363a0e803a9fb2889ff03237f4e93aacf0108
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M .github/workflows/llvm-tests.yml
Log Message:
-----------
workflows: Fix baseline version for llvm abi checks (#85166)
The baseline version calculations was assuming the minor release would
always be 0.
Commit: ef395a492aa931f428e99e1c0a93d4ad2fb0fcfa
https://github.com/llvm/llvm-project/commit/ef395a492aa931f428e99e1c0a93d4ad2fb0fcfa
Author: ostannard <oliver.stannard at arm.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
A clang/test/CodeGen/aarch64-soft-float-abi-errors.c
A clang/test/CodeGen/aarch64-soft-float-abi.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/target-avx-abi-diag.c
A clang/test/Driver/aarch64-soft-float-abi.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Sema/arm-vector-types-support.c
A llvm/test/CodeGen/AArch64/soft-float-abi.ll
Log Message:
-----------
[AArch64] Add soft-float ABI (#84146)
This is re-working of #74460, which adds a soft-float ABI for AArch64.
That was reverted because it causes errors when building the linux and
fuchsia kernels.
The problem is that GCC's implementation of the ABI compatibility checks
when using the hard-float ABI on a target without FP registers does it's
checks after optimisation. The previous version of this patch reported
errors for all uses of floating-point types, which is stricter than what
GCC does in practice.
This changes two things compared to the first version:
* Only check the types of function arguments and returns, not the types
of other values. This is more relaxed than GCC, while still guaranteeing
ABI compatibility.
* Move the check from Sema to CodeGen, so that inline functions are only
checked if they are actually used. There are some cases in the linux
kernel which depend on this behaviour of GCC.
Commit: 4aec1438cdb2326c3709d57a5ec22fe436d4d8f1
https://github.com/llvm/llvm-project/commit/4aec1438cdb2326c3709d57a5ec22fe436d4d8f1
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Make grab bag //libc:internal_includes textual, some of these don't even parse
Commit: 7ef433f62c199c414bffdcac1c8ee3159b29c5f5
https://github.com/llvm/llvm-project/commit/7ef433f62c199c414bffdcac1c8ee3159b29c5f5
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ReplaceConstant.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
Log Message:
-----------
[NFC][RemoveDIs] Switch ConstantExpr::getAsInstruction to not insert (#84737)
Because the RemoveDIs work is putting a debug-info bit into
BasicBlock::iterator and iterators are needed for insertion, the
getAsInstruction method declaration would need to use a fully defined
instruction-iterator, which leads to a complicated
header-inclusion-order problem. Much simpler to instead just not insert,
and make it the callers problem to insert.
This is proportionate because there are only four call-sites to
getAsInstruction -- it would suck if we did this everywhere.
---------
Merged by: Stephen Tozer <stephen.tozer at sony.com>
Commit: b4b7d988bdb48827a822d9c87fdc460dceae5cab
https://github.com/llvm/llvm-project/commit/b4b7d988bdb48827a822d9c87fdc460dceae5cab
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M flang/test/Driver/cuda-option.f90
Log Message:
-----------
[flang] Fix cuda-option test on Darwin (#85687)
On Darwin, -isysroot is needed and is automatically appended to
%flang and %flang_fc1, so use %flang_fc1 instead to have both -fc1
and -isysroot in the expected positions and avoid errors.
Commit: db4170a4f3a701a62f5c1ef2e6a30f490f107f7d
https://github.com/llvm/llvm-project/commit/db4170a4f3a701a62f5c1ef2e6a30f490f107f7d
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M flang/test/Driver/cuda-option.f90
Log Message:
-----------
Revert "[flang] Fix cuda-option test on Darwin (#85687)"
Reverted due to buildbot failures:
https://lab.llvm.org/buildbot/#/builders/139/builds/61717/
This reverts commit b4b7d988bdb48827a822d9c87fdc460dceae5cab.
Commit: 885f93d62a0a7d2955a755cdc451d394577b36e2
https://github.com/llvm/llvm-project/commit/885f93d62a0a7d2955a755cdc451d394577b36e2
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M flang/test/Driver/cuda-option.f90
Log Message:
-----------
Reapply "[flang] Fix cuda-option test on Darwin (#85687)"
This commit was mistakenly reverted in place of the actual failing
commit prior; reapplying.
This reverts commit db4170a4f3a701a62f5c1ef2e6a30f490f107f7d.
Commit: ab851f7fe946e7eed700ef9d82082eb721860189
https://github.com/llvm/llvm-project/commit/ab851f7fe946e7eed700ef9d82082eb721860189
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ReplaceConstant.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
Log Message:
-----------
Revert "[NFC][RemoveDIs] Switch ConstantExpr::getAsInstruction to not insert (#84737)"
Reverted due to buildbot failures:
https://lab.llvm.org/buildbot/#/builders/139/builds/61717/
This reverts commit 7ef433f62c199c414bffdcac1c8ee3159b29c5f5.
Commit: b59c2a0eb499d8daf8086cd9875083d32496cc58
https://github.com/llvm/llvm-project/commit/b59c2a0eb499d8daf8086cd9875083d32496cc58
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/test/tools/llvm-objdump/MachO/AArch64/macho-relative-method-lists.test
M llvm/tools/llvm-objdump/MachODump.cpp
Log Message:
-----------
[llvm-objdump][macho] Fix relative method list dumping for little endian hosts (#85778)
`macho-relative-method-lists.test` is failing on little endian
platforms, when matching 'name'.
```
CHK32-NEXT: name 0x144 (0x{{[0-9a-f]*}}) instance_method_00
next:10'0 X error: no match found
18: name 0x144 (0x7ac)
```
This seems like the obvious fix.
Co-authored-by: Alex B <alexborcan at meta.com>
Commit: 0e7681867242ccf9138e7e6a9c2d9925b6ee1e49
https://github.com/llvm/llvm-project/commit/0e7681867242ccf9138e7e6a9c2d9925b6ee1e49
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Test isKnownNonZero() range metadata with vector (NFC)
Commit: 6872a646523c1e85a98dfa20b2f4dd7774e10ba4
https://github.com/llvm/llvm-project/commit/6872a646523c1e85a98dfa20b2f4dd7774e10ba4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Handle vector range metadata in isKnownNonZero()
Nowadays !range can be placed on instructions with vector of int
return value. Support this case in isKnownNonZero().
Commit: 6503b015d4a8971dcb69a63de7d8d203e4be79b6
https://github.com/llvm/llvm-project/commit/6503b015d4a8971dcb69a63de7d8d203e4be79b6
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Expr.h
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Analysis/eval-predefined-exprs.cpp
M clang/test/SemaCXX/source_location.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
[clang-cl] Fix value of __FUNCTION__ in MSVC mode. (#84014)
Predefined macro FUNCTION in clang is not returning the same string than
MS for templated functions.
See https://godbolt.org/z/q3EKn5zq4
For the same test case MSVC is returning:
function: TestClass::TestClass
function: TestStruct::TestStruct
function: TestEnum::TestEnum
The initial work for this was in the reverted patch
(https://github.com/llvm/llvm-project/pull/66120). This patch solves the
issues raised in the reverted patch.
Commit: d1e2305a6d70bbf565104644a4594cbf4f78e6ac
https://github.com/llvm/llvm-project/commit/d1e2305a6d70bbf565104644a4594cbf4f78e6ac
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Fix release build
Move the declaration of the Ty variable outside the NDEBUG guard
and make use of it in the remainder of the function.
Commit: a1fb51453d9b47ea011f8b948f2f099da2edf2c9
https://github.com/llvm/llvm-project/commit/a1fb51453d9b47ea011f8b948f2f099da2edf2c9
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M libc/src/math/generic/atanf.cpp
Log Message:
-----------
[libc] Prevent constant propagation for atanf(+-Inf) in gcc. (#85733)
gcc bot failures with `atanf(+-Inf)`:
https://lab.llvm.org/buildbot/#/builders/250/builds/20331/steps/8/logs/stdio
Commit: 2cc75aed0925f3c7e8e50b2f4bdc94daac4cb08d
https://github.com/llvm/llvm-project/commit/2cc75aed0925f3c7e8e50b2f4bdc94daac4cb08d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Move MD_range handling to isKnownNonZeroFromOperator()
All the isKnownNonZero() handling for instructions should be inside
this function. This makes the structure more similar to
computeKnownBitsFromOperator() as well.
This may not be entirely NFC due to different depth handling.
Commit: 31eaf86a1e8f1870e6ee4c42088a5213bde294b8
https://github.com/llvm/llvm-project/commit/31eaf86a1e8f1870e6ee4c42088a5213bde294b8
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-add-i64.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-to-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-user-not-min.ll
M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-undef-input.ll
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
M llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll
M llvm/test/Transforms/SLPVectorizer/X86/store-insertelement-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/alt-cmp-vectorize.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis.
This improves overall analysis for minbitwidth in SLP. It allows to
analyze the trees with store/insertelement root nodes. Also, instead of
using single minbitwidth, detected from the very first analysis stage,
it tries to detect the best one for each trunc/ext subtree in the graph
and use it for the subtree.
Results in better code and less vector register pressure.
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant.test 92549.00 92609.00 0.1%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 663381.00 663493.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 663381.00 663493.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 307182.00 307214.00 0.0%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1394420.00 1394484.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1394420.00 1394484.00 0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2040257.00 2040273.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12396098.00 12395858.00 -0.0%
test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test 909944.00 909768.00 -0.0%
SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant - 4 scalar
instructions remain scalar (good).
Spec2017/x264 - the whole function idct4x4dc is vectorized using <16
x i16> instead of <16 x i32>, also zext/trunc are removed. In other
places last vector zext/sext removed and replaced by
extractelement + scalar zext/sext pair.
MultiSource/Benchmarks/Bullet/bullet - reduce or <4 x i32> replaced by
reduce or <4 x i8>
Spec2017/imagick - Removed extra zext from 2 packs of the operations.
Spec2017/parest - Removed extra zext, replaced by extractelement+scalar
zext
Spec2017/blender - the whole bunch of vector zext/sext replaced by
extractelement+scalar zext/sext, some extra code vectorized in smaller
types.
Spec2006/gobmk - fixed cost estimation, some small code remains scalar.
Original Pull Request: https://github.com/llvm/llvm-project/pull/84334
The patch has the same functionality (no test changes, no changes in
benchmarks) as the original patch, just has some compile time
improvements + fixes for xxhash unittest, discovered earlier in the
previous version of the patch.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/84536
Commit: 43a2ec483fe08064b53a6293682e9bab97df61a0
https://github.com/llvm/llvm-project/commit/43a2ec483fe08064b53a6293682e9bab97df61a0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
M llvm/lib/CodeGen/NonRelocatableStringpool.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
M llvm/lib/DWARFLinker/Parallel/StringEntryToDwarfStringPoolEntryMap.h
R llvm/test/tools/dsymutil/ARM/obfuscated.test
R llvm/test/tools/dsymutil/Inputs/obfuscated.2.arm64
R llvm/test/tools/dsymutil/Inputs/obfuscated.2.map
R llvm/test/tools/dsymutil/Inputs/obfuscated.arm64
R llvm/test/tools/dsymutil/Inputs/obfuscated.map
M llvm/test/tools/dsymutil/cmdline.test
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/MachOUtils.cpp
M llvm/tools/dsymutil/MachOUtils.h
M llvm/tools/dsymutil/Options.td
R llvm/tools/dsymutil/SymbolMap.cpp
R llvm/tools/dsymutil/SymbolMap.h
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
Log Message:
-----------
[dsymutil] Remove support for obfuscated bitcode (#85713)
Remove support for obfuscated bitcode in dsymutil and the DWARF linker.
We no longer support bitcode submissions and the obfuscation support has
been removed from the rest of the compiler.
rdar://123863918
Commit: 66125ad8e9978e6fdec0e1c3ff83e717eff07aca
https://github.com/llvm/llvm-project/commit/66125ad8e9978e6fdec0e1c3ff83e717eff07aca
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
A llvm/test/CodeGen/X86/avgceils.ll
A llvm/test/CodeGen/X86/avgceilu.ll
A llvm/test/CodeGen/X86/avgfloors.ll
A llvm/test/CodeGen/X86/avgflooru.ll
Log Message:
-----------
[X86] Add test coverage for vector avgceils/avgceilu/avgfloors/avgflooru test patterns
SSE only has AVGCEILU vXi8/vXi16 support - but for other types we should be trying to use the fixed width expansion instead of extensions
Commit: c20596ca2bbeb1926ece1f03f25fdd138933c916
https://github.com/llvm/llvm-project/commit/c20596ca2bbeb1926ece1f03f25fdd138933c916
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[NFC] [hwasan] also be more consistent when getting pointer types (#84399)
Commit: 25bb7436ca3edbb0f49cef96a27f1e507b973e6c
https://github.com/llvm/llvm-project/commit/25bb7436ca3edbb0f49cef96a27f1e507b973e6c
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/MC/MCInstrAnalysis.h
Log Message:
-----------
Trim trailing whitespaces in MCInstrAnalysis.h. NFC. (#85805)
Commit: 9a96fb4445f4e9d9a7899189758ee6afbeb6510b
https://github.com/llvm/llvm-project/commit/9a96fb4445f4e9d9a7899189758ee6afbeb6510b
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ReplaceConstant.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
Log Message:
-----------
Reapply "[NFC][RemoveDIs] Switch ConstantExpr::getAsInstruction to not insert (#84737)"
Fixes a build error caused by an unupdated getAsInstruction callsite in clang.
This reverts commit ab851f7fe946e7eed700ef9d82082eb721860189.
Commit: 8819f8799868a95bba24c0a574a9b1455e63b63d
https://github.com/llvm/llvm-project/commit/8819f8799868a95bba24c0a574a9b1455e63b63d
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
Log Message:
-----------
[MLIR][NVVM] Add barrier.arrive (#85412)
PR adds `nvvm.barrier.arrive` Op. It is useful op for producer consumer
modeling.
Commit: a40becdcbeca3da91b97ed1d81f9506f74fc8000
https://github.com/llvm/llvm-project/commit/a40becdcbeca3da91b97ed1d81f9506f74fc8000
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add more mess
Commit: 0081ec11d86f34982ac5b1df4f53943a92d5223f
https://github.com/llvm/llvm-project/commit/0081ec11d86f34982ac5b1df4f53943a92d5223f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add a mask for SK_Broadcast shuffle costing (#85808)
This is part of a series of small patches to compute shuffle masks for
the couple of cases where we call getShuffleCost without one. My goal is
to add an invariant that all calls to getShuffleCost for fixed length
vectors have a mask.
Note that this code appears to be reachable with scalable vectors, and
thus we have to only pass a non-empty mask when the number of elements
is precisely known.
Commit: 081a66ffacfe85a37ff775addafcf3371e967328
https://github.com/llvm/llvm-project/commit/081a66ffacfe85a37ff775addafcf3371e967328
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGenHLSL/builtins/dot.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/idot.ll
Log Message:
-----------
[DXIL] implement dot intrinsic lowering for integers (#85662)
this implements part 1 of 2 for #83626
- `CGBuiltin.cpp` - modified to have seperate cases for signed and
unsigned integers.
- `SemaChecking.cpp` - modified to prevent the generation of a double
dot product intrinsic if the builtin were to be called directly.
- `IntrinsicsDirectX.td` creation of the signed and unsigned dot
intrinsics needed for instruction expansion.
- `DXILIntrinsicExpansion.cpp` - handle instruction expansion cases for
integer dot product.
Commit: 252e2551eab9b59f7dcbf8bb79a1432884d546e4
https://github.com/llvm/llvm-project/commit/252e2551eab9b59f7dcbf8bb79a1432884d546e4
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/test/Dialect/LLVMIR/sroa.mlir
Log Message:
-----------
[MLIR][LLVM][SROA] Avoid splitting dynamically indexed allocas (#85758)
This commit ensures that SROA does no longer attempt to split allocas
that are indexed into dynamically. Dynamic indices into arrays are
allowed to be negative or out-of-bounds, when the alloca containing the
array has memory backing these produced indices.
Commit: c63a291c64852a086cb447c7078e5312aac1a05c
https://github.com/llvm/llvm-project/commit/c63a291c64852a086cb447c7078e5312aac1a05c
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M libc/src/__support/CPP/array.h
A libc/src/__support/CPP/iterator.h
M libc/test/src/__support/CPP/CMakeLists.txt
A libc/test/src/__support/CPP/array_test.cpp
Log Message:
-----------
[libc][cpp] reverse_iterator support (#85702)
Towards the goal of implementing __cxa_finalize (#85651) I'd like to be able to
reverse iterate over cpp::arrays such as the one used in FixedVector.
Implement the enough iterator support to be able to iterate a cpp::array in
reverse, and add tests.
Of note, reverse iterator's begin() refers to forward iterator's end() (and
vice versa). When dereferenced (operator*), the reverse iterator returns a copy
that's been pre-decremented (the underlying forward iterator is advanced).
Commit: b9d83eff254668385fd3d9d5ddb5af762f378d7f
https://github.com/llvm/llvm-project/commit/b9d83eff254668385fd3d9d5ddb5af762f378d7f
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Analysis/PHITransAddr.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/DwarfEHPrepare.cpp
M llvm/lib/CodeGen/GCRootLowering.cpp
M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/IntrinsicLowering.cpp
M llvm/lib/CodeGen/JMCInstrumenter.cpp
M llvm/lib/CodeGen/SjLjEHPrepare.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
M llvm/lib/Target/BPF/BPFPreserveDIType.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Mips/Mips16HardFloat.cpp
M llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerRefTypesIntPtrConv.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/CodeGen/LoopGenerators.cpp
M polly/lib/Support/ScopHelper.cpp
Log Message:
-----------
[NFC][RemoveDIs] Use iterators for insertion at various call-sites (#84736)
These are the last remaining "trivial" changes to passes that use
Instruction pointers for insertion. All of this should be NFC, it's just
changing the spelling of how we identify a position.
In one or two locations, I'm also switching uses of getNextNode etc to
using std::next with iterators. This too should be NFC.
---------
Merged by: Stephen Tozer <stephen.tozer at sony.com>
Commit: e59f120e3a14ccdc55fcb7be996efaa768daabe0
https://github.com/llvm/llvm-project/commit/e59f120e3a14ccdc55fcb7be996efaa768daabe0
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
Log Message:
-----------
[RISCV] Add test for strided load combine regression. NFC
This adds a reduced test case for the regression seen in x264 with #83035.
If the intermediate concatenating shuffles are large enough then the
splitting combine will prevent the strided load combine which is
preferable.
Commit: 24f22b3f93f950348cbff35feb7ad9a5d16d916d
https://github.com/llvm/llvm-project/commit/24f22b3f93f950348cbff35feb7ad9a5d16d916d
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M lld/test/ELF/aarch64-tlsdesc-zrel.s
M lld/test/ELF/pack-dyn-relocs.s
M llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test
M llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test
M llvm/test/tools/llvm-readobj/ELF/decompress-zstd-unsupported.test
M llvm/test/tools/llvm-readobj/ELF/hex-dump-multi.s
M llvm/test/tools/llvm-readobj/ELF/hex-dump.test
M llvm/test/tools/llvm-readobj/ELF/string-dump-multi.s
M llvm/test/tools/llvm-readobj/ELF/string-dump.test
M llvm/tools/llvm-readobj/ObjDumper.cpp
Log Message:
-----------
[llvm-readelf] Print a blank line for the first hex/string dump
GNU readelf prints a blank line before the first hex/string dump, which
serves as a separator when there are other dump operations. Port the
behavior.
Pull Request: https://github.com/llvm/llvm-project/pull/85744
Commit: 09eb9f1136c8572c4c3f2ec46be50899c32fc881
https://github.com/llvm/llvm-project/commit/09eb9f1136c8572c4c3f2ec46be50899c32fc881
Author: Michele Scandale <michele.scandale at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
M llvm/test/Transforms/InstCombine/select-binop-foldable-floating-point.ll
M llvm/test/Transforms/InstCombine/select_meta.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
Log Message:
-----------
[InstCombine] Fix for folding `select` into floating point binary operators. (#83200)
Folding a `select` into a floating point binary operators can only be
done if the result is preserved for both case. In particular, if the
other operand of the `select` can be a NaN, then the transformation
won't preserve the result value.
Commit: 9ed1aa36be654f6687c4f9000c973b722217881c
https://github.com/llvm/llvm-project/commit/9ed1aa36be654f6687c4f9000c973b722217881c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/AST/DeclPrinter.cpp
Log Message:
-----------
Fixing up an edit missed in #84014; NFC
Commit: ab76052fa9331f418d7911cafefabd4dd0c1941e
https://github.com/llvm/llvm-project/commit/ab76052fa9331f418d7911cafefabd4dd0c1941e
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
Log Message:
-----------
AMDGPU: Treat SWMMAC the same as MFMA and other WMMA for sched_barrier (#85721)
Commit: fe84369cc6759194e006f3f624a064bce13c84d4
https://github.com/llvm/llvm-project/commit/fe84369cc6759194e006f3f624a064bce13c84d4
Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
Log Message:
-----------
[mlir][ArmNeon] Implements unrolling patterns for LowerContractionToSMMLAPattern (#84848)
This patch updates `LowerContractionToSMMLAPattern` to unroll larger vector contracts into multiple smmla instructions.
Now accepts up to [8,8,8] tiles (previously only [2,2,8]). The N/M dimensions must be powers of 2. `vector.extract_strided_slice`/`vector.insert_strided_slice` divides the contract into tiles to be processed in a row.
Commit: a7eaae4ec686ddfb8f91868fc8d053b2163f7ec7
https://github.com/llvm/llvm-project/commit/a7eaae4ec686ddfb8f91868fc8d053b2163f7ec7
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/separate-mp05.f90
Log Message:
-----------
[Flang] Fix to the module procedure interface block ignoring implicit… (#85735)
… of host scoping unit.
Fix as proposed by @thtsikas [here
](https://github.com/llvm/llvm-project/commit/11d07d9ef618497b825badee8b4f06a48575606b#commitcomment-139798026).
Commit: c7de4a39d5673b91189395f85ca6f71b1eeb115c
https://github.com/llvm/llvm-project/commit/c7de4a39d5673b91189395f85ca6f71b1eeb115c
Author: Brad Smith <brad at comstyle.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M openmp/runtime/test/lit.cfg
Log Message:
-----------
[OpenMP] Enable the affinity tests on FreeBSD, NetBSD and DragonFly (#85500)
FreeBSD, NetBSD and DragonFly also have affinity support. So enable the tests there as well.
Commit: b9a41b9e9b1441a7b0ca0fb95b9184f73bbfd4b5
https://github.com/llvm/llvm-project/commit/b9a41b9e9b1441a7b0ca0fb95b9184f73bbfd4b5
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
A openmp/libomptarget/test/offloading/workshare_chunk.c
Log Message:
-----------
[NFC][OpenMP] Add test checking clang offload chunking policy (#83261)
Verify how clang handles `dist_schedule(static, block_chunk)` and
`schedule(static, thread_chunk)` clauses for OpenMP offload loop
workshare pragmas.
Commit: 5f38436d34360d17b58f643650f3605bb9609a34
https://github.com/llvm/llvm-project/commit/5f38436d34360d17b58f643650f3605bb9609a34
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
A clang/test/Driver/fsanitize-signed-integer-overflow.c
Log Message:
-----------
[Driver] -fsanitize=undefined: don't expand to signed-integer-overflow if -fwrapv (#85501)
Linux kernel uses -fwrapv to change signed integer overflows from
undefined behaviors to defined behaviors. However, the security folks
still want -fsanitize=signed-integer-overflow diagnostics. Their
intention can be expressed with -fwrapv
-fsanitize=signed-integer-overflow (#80089). This mode by default
reports recoverable errors while still making signed integer overflows
defined (most UBSan checks are recoverable by default: you get errors in
stderr, but the program is not halted).
-fsanitize=undefined -fwrapv users likely want to suppress
signed-integer-overflow, unless signed-integer-overflow is explicitly
enabled. Implement this suppression.
Commit: 4bade55cc65db8b7f977dba4f13bf335e93317a8
https://github.com/llvm/llvm-project/commit/4bade55cc65db8b7f977dba4f13bf335e93317a8
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M lld/test/ELF/aarch64-tlsdesc-zrel.s
Log Message:
-----------
[test] Fix aarch64-tlsdesc-zrel.s
Commit: 3176c157190c80b4279dec86c4b9b84472d8ccac
https://github.com/llvm/llvm-project/commit/3176c157190c80b4279dec86c4b9b84472d8ccac
Author: Andres Villegas <andresvi at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
M llvm/lib/CodeGen/NonRelocatableStringpool.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
M llvm/lib/DWARFLinker/Parallel/StringEntryToDwarfStringPoolEntryMap.h
A llvm/test/tools/dsymutil/ARM/obfuscated.test
A llvm/test/tools/dsymutil/Inputs/obfuscated.2.arm64
A llvm/test/tools/dsymutil/Inputs/obfuscated.2.map
A llvm/test/tools/dsymutil/Inputs/obfuscated.arm64
A llvm/test/tools/dsymutil/Inputs/obfuscated.map
M llvm/test/tools/dsymutil/cmdline.test
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/MachOUtils.cpp
M llvm/tools/dsymutil/MachOUtils.h
M llvm/tools/dsymutil/Options.td
A llvm/tools/dsymutil/SymbolMap.cpp
A llvm/tools/dsymutil/SymbolMap.h
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
Log Message:
-----------
Revert "[dsymutil] Remove support for obfuscated bitcode" (#85826)
Reverts llvm/llvm-project#85713 Since it is breaking Linux x64 builds.
Commit: 71b69dd21becdfbf8922674ce6ca4129926660ab
https://github.com/llvm/llvm-project/commit/71b69dd21becdfbf8922674ce6ca4129926660ab
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.cpp
M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
Log Message:
-----------
[WebAssembly] Pass ArrayRef by value (NFC) (#85732)
`ArrayRef` is supposed to be passed by value:
https://github.com/llvm/llvm-project/blob/bda05140fb758156ae35f3919e6283d94bfa3905/llvm/include/llvm/ADT/ArrayRef.h#L38-L39
Commit: e61922d327c39805a7303586f4b0accf3398c774
https://github.com/llvm/llvm-project/commit/e61922d327c39805a7303586f4b0accf3398c774
Author: Takuto Ikuta <tikuta at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/Support/TimeProfiler.h
M llvm/lib/Support/TimeProfiler.cpp
M llvm/unittests/Support/TimeProfilerTest.cpp
Log Message:
-----------
Expose TimeTraceProfiler for Async Events (#83778)
To avoid issue like https://github.com/llvm/llvm-project/issues/56554
and https://github.com/llvm/llvm-project/issues/83236 due to no
guarantees for nested relationships between file level span and syntax
tree level span, I'd like to have a `timeTraceAsyncProfilerBegin`
specific to trace handling only `Source` spans around
https://github.com/llvm/llvm-project/blob/8715f256911786520bb727ce067098d7082ac45c/clang/lib/Sema/Sema.cpp#L153-L170.
This is a preparation PR to do that in [following
PR](https://github.com/llvm/llvm-project/pull/83961).
Commit: 1d296ec226903a09de0215e05d852b2b80712855
https://github.com/llvm/llvm-project/commit/1d296ec226903a09de0215e05d852b2b80712855
Author: Michael Jones <michaelrj at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] fix missing iterator inclusion (#85840)
Patch #85702 added a new iterator header for array to use, but didn't
add it as a dependency in the bazel build. This patch fixes the issue.
Commit: a0394f16912c49a6760fbc22ab9d29c6cac6fb0a
https://github.com/llvm/llvm-project/commit/a0394f16912c49a6760fbc22ab9d29c6cac6fb0a
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/xmmintrin.h
Log Message:
-----------
[Headers][X86] Add rounding and exception notes to conversions (#83447)
Consistently describe rounding/truncating on convert intrinsics. Add
notes where an out-of-range result can raise an exception.
Commit: 3ff67d8c8069b9f42efcbe90ad7edeb6d8117a31
https://github.com/llvm/llvm-project/commit/3ff67d8c8069b9f42efcbe90ad7edeb6d8117a31
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[HLSL] Fix for build break introduced by #85662 (#85839)
This change fixes a test case failure caused by pr #85662
Commit: 0a40f5d1a05a4108b5d9febf3ea8df4c1244a340
https://github.com/llvm/llvm-project/commit/0a40f5d1a05a4108b5d9febf3ea8df4c1244a340
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
Log Message:
-----------
[clang-tidy] Add support for lambdas in cppcoreguidelines-owning-memory (#77246)
Implement proper support for lambdas and sub-functions/classes.
Moved from https://reviews.llvm.org/D157285
Fixes: #59389
Commit: 28c1279db3541bc7b246fd9da0da3da4e09f0eed
https://github.com/llvm/llvm-project/commit/28c1279db3541bc7b246fd9da0da3da4e09f0eed
Author: Piotr Zegar <piotr.zegar at nokia.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-stringview-data-usage.cpp
Log Message:
-----------
[clang-tidy] Add bugprone-suspicious-stringview-data-usage check (#83716)
This check identifies suspicious usages of std::string_view::data() that
could lead to reading out-of-bounds data due to inadequate or incorrect
string null termination.
Closes #80854
Commit: a6e231bb2a7924f4269e6735d29a54b2318cd16c
https://github.com/llvm/llvm-project/commit/a6e231bb2a7924f4269e6735d29a54b2318cd16c
Author: alexfh <alexfh at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/Float2Int.h
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/test/Transforms/Float2Int/basic.ll
Log Message:
-----------
Revert "[Float2Int] Resolve FIXME: Pick the smallest legal type that fits" (#85843)
Reverts llvm/llvm-project#79158, which causes a miscompile. See
https://github.com/llvm/llvm-project/pull/79158#issuecomment-2007842032
Commit: c2c1e6ee4ce0df3d000ba880fa6cf58441da6462
https://github.com/llvm/llvm-project/commit/c2c1e6ee4ce0df3d000ba880fa6cf58441da6462
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
Log Message:
-----------
[VPlan] Replace disjoint or with add instead of dropping disjoint. (#83821)
Dropping disjoint from an OR may yield incorrect results, as some
analysis may have converted it to an Add implicitly (e.g. SCEV used for
dependence analysis). Instead, replace it with an equivalent Add.
This is possible as all users of the disjoint OR only access lanes where
the operands are disjoint or poison otherwise.
Note that replacing all disjoint ORs with ADDs instead of dropping the
flags is not strictly necessary. It is only needed for disjoint ORs that
SCEV treated as ADDs, but those are not tracked.
There are other places that may drop poison-generating flags; those
likely need similar treatment.
Fixes https://github.com/llvm/llvm-project/issues/81872
PR: https://github.com/llvm/llvm-project/pull/83821
Commit: e4f9175d23950ecaef32db075ed47dafe3be555c
https://github.com/llvm/llvm-project/commit/e4f9175d23950ecaef32db075ed47dafe3be555c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT] Update DIEStreamer (#85818)
commit 43a2ec483fe08064b53a6293682e9bab97df61a0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: Tue Mar 19 08:30:47 2024 -0700
removed parameter Translator from the constructor of DwarfStreamer.
This patch fixes the build by updating the constructor of DIEStreamer
accordingly.
Commit: da118c93b40f74f6770cf8550903721555d3c97b
https://github.com/llvm/llvm-project/commit/da118c93b40f74f6770cf8550903721555d3c97b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
Log Message:
-----------
[SLP]Do extra analysis int minbitwidth if some checks return false.
The instruction itself can be considered good for minbitwidth casting,
even if one of the operand checks returns false.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/84363
Commit: 0b59af4d86cf8d3ee3eb1a8e5673b1a21bb387b5
https://github.com/llvm/llvm-project/commit/0b59af4d86cf8d3ee3eb1a8e5673b1a21bb387b5
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/copysign-fneg-fabs.ll
M llvm/test/Transforms/InstCombine/fcmp.ll
Log Message:
-----------
[InstCombine] Clear sign-bit of the constant magnitude in copysign (#85787)
Alive2: https://alive2.llvm.org/ce/z/vFykcZ
Address the comment
https://github.com/llvm/llvm-project/pull/85772#discussion_r1530179048.
Unfortunately, non-splat vector constants are not supported because we
haven't implemented constant folding of fabs with vector operands.
Commit: 32a6e9d66945c28a9cae476b6d2eb803ca2ab098
https://github.com/llvm/llvm-project/commit/32a6e9d66945c28a9cae476b6d2eb803ca2ab098
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
M llvm/lib/CodeGen/NonRelocatableStringpool.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
M llvm/lib/DWARFLinker/Parallel/StringEntryToDwarfStringPoolEntryMap.h
R llvm/test/tools/dsymutil/ARM/obfuscated.test
R llvm/test/tools/dsymutil/Inputs/obfuscated.2.arm64
R llvm/test/tools/dsymutil/Inputs/obfuscated.2.map
R llvm/test/tools/dsymutil/Inputs/obfuscated.arm64
R llvm/test/tools/dsymutil/Inputs/obfuscated.map
M llvm/test/tools/dsymutil/cmdline.test
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/MachOUtils.cpp
M llvm/tools/dsymutil/MachOUtils.h
M llvm/tools/dsymutil/Options.td
R llvm/tools/dsymutil/SymbolMap.cpp
R llvm/tools/dsymutil/SymbolMap.h
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
Log Message:
-----------
[dsymutil] Remove support for obfuscated bitcode (#85713)
Remove support for obfuscated bitcode in dsymutil and the DWARF linker.
We no longer support bitcode submissions and the obfuscation support has
been removed from the rest of the compiler.
rdar://123863918
Commit: 8af3f74294d5e6ccf4e5c91ad5c25a1d7384ec1c
https://github.com/llvm/llvm-project/commit/8af3f74294d5e6ccf4e5c91ad5c25a1d7384ec1c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
Revert "[BOLT] Update DIEStreamer (#85818)"
This reverts commit e4f9175d23950ecaef32db075ed47dafe3be555c.
commit 3176c157190c80b4279dec86c4b9b84472d8ccac
Author: Andres Villegas <andresvi at google.com>
Date: Tue Mar 19 10:58:31 2024 -0700
reverted 43a2ec483fe08064b53a6293682e9bab97df61a0.
Commit: 4b61d5bd6155f43792dd37a8975df68365b1e24a
https://github.com/llvm/llvm-project/commit/4b61d5bd6155f43792dd37a8975df68365b1e24a
Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[ArmNeonTransforms][Bazel] Added appropriate deps for BUILD.bazel file. (#85852)
Commit: 3dc1b5044e25fc7e574719355091fccddad29ce4
https://github.com/llvm/llvm-project/commit/3dc1b5044e25fc7e574719355091fccddad29ce4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M libc/docs/dev/printf_behavior.rst
M libc/docs/dev/undefined_behavior.rst
M libc/src/stdio/printf_core/string_converter.h
M libc/test/src/stdio/sprintf_test.cpp
Log Message:
-----------
[libc] Make 'printf' converter output "(null)" instead of "null" (#85845)
Summary:
Currently we print `null` for the null pointer in a `%s` expression.
Although it's not defined by the standard, other implementations choose
to use `(null)` to indicate this. We also currently print `(nullptr)` so
I think it's more consistent to use parens in both cases.
Commit: 41283403f5a201c93b64b0f5b0e3ee3bc5f5e2b1
https://github.com/llvm/llvm-project/commit/41283403f5a201c93b64b0f5b0e3ee3bc5f5e2b1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT] Update DWARFRewriter for 32a6e9d66945
Commit: 5cccc405e3981dfb97d5fee05b44a2ac6388191c
https://github.com/llvm/llvm-project/commit/5cccc405e3981dfb97d5fee05b44a2ac6388191c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M openmp/libomptarget/test/offloading/barrier_fence.c
Log Message:
-----------
Revert "[OpenMP] Disable flaky barrier fence test (#85093)"
This reverts commit cd8843f87af2f04a85dda12b37738596cbf4cd5e.
Originally disabled to try to unstick the AMD build bot, didn't make a
difference after a week so it goes back in.
Commit: 85b6af198fdad9aead0449a645d839b1c7635dfd
https://github.com/llvm/llvm-project/commit/85b6af198fdad9aead0449a645d839b1c7635dfd
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
Log Message:
-----------
[libc][math][c23] Add linux/* entrypoints for nextup* and nextdown* (#85803)
See
https://github.com/llvm/llvm-project/pull/85484#discussion_r1526971653.
There already were entrypoints for linux/x86_64. I haven't tested on the other
targets and will rely on the buildbots.
Commit: 4549f8910ed9bc6479b6e641c2611d4b36a2cd63
https://github.com/llvm/llvm-project/commit/4549f8910ed9bc6479b6e641c2611d4b36a2cd63
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Log Message:
-----------
[gn build] Port 28c1279db354
Commit: ac7a456181a8506c1adbe97dac72775b89a4fc24
https://github.com/llvm/llvm-project/commit/ac7a456181a8506c1adbe97dac72775b89a4fc24
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
Log Message:
-----------
[gn build] Port 32a6e9d66945
Commit: 3cd9dccbb4235e057d0e53ab0b9673f3766800d4
https://github.com/llvm/llvm-project/commit/3cd9dccbb4235e057d0e53ab0b9673f3766800d4
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[cmake] Disable using FatLTO on Apple platforms (#85708)
FatLTO currently only supports ELF, so ensure we don't use it
on non-ELF platforms.
Commit: ffd08c7759000f55332f1657a1fab64a7adc03fd
https://github.com/llvm/llvm-project/commit/ffd08c7759000f55332f1657a1fab64a7adc03fd
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/LCSSA.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/MemoryOpRemark.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SSAUpdater.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/test/DebugInfo/dpvalue-print-nocrash.ll
M llvm/test/Transforms/LoopRotate/dbgvalue.ll
M llvm/test/tools/llvm-reduce/remove-dp-values.ll
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.h
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[RemoveDIs][NFC] Rename DPValue -> DbgVariableRecord (#85216)
This is the major rename patch that prior patches have built towards.
The DPValue class is being renamed to DbgVariableRecord, which reflects
the updated terminology for the "final" implementation of the RemoveDI
feature. This is a pure string substitution + clang-format patch. The
only manual component of this patch was determining where to perform
these string substitutions: `DPValue` and `DPV` are almost exclusively
used for DbgRecords, *except* for:
- llvm/lib/target, where 'DP' is used to mean double-precision, and so
appears as part of .td files and in variable names. NB: There is a
single existing use of `DPValue` here that refers to debug info, which
I've manually updated.
- llvm/tools/gold, where 'LDPV' is used as a prefix for symbol
visibility enums.
Outside of these places, I've applied several basic string
substitutions, with the intent that they only affect DbgRecord-related
identifiers; I've checked them as I went through to verify this, with
reasonable confidence that there are no unintended changes that slipped
through the cracks. The substitutions applied are all case-sensitive,
and are applied in the order shown:
```
DPValue -> DbgVariableRecord
DPVal -> DbgVarRec
DPV -> DVR
```
Following the previous rename patches, it should be the case that there
are no instances of any of these strings that are meant to refer to the
general case of DbgRecords, or anything other than the DPValue class.
The idea behind this patch is therefore that pure string substitution is
correct in all cases as long as these assumptions hold.
Commit: cd34860705607ba804e20753f3ef4f2d4392df57
https://github.com/llvm/llvm-project/commit/cd34860705607ba804e20753f3ef4f2d4392df57
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/ObjC.h
M lld/MachO/Options.td
A lld/test/MachO/objc-category-merging-complete-test.s
A lld/test/MachO/objc-category-merging-extern-class-minimal.s
Log Message:
-----------
[lld-macho] Implement ObjC category merging (-objc_category_merging) (#85727)
This change adds a flag to lld to enable category merging for MachoO +
ObjC.
It adds the '-objc_category_merging' flag for enabling this option and
uses the existing '-no_objc_category_merging' flag for disabling it.
In ld64, this optimization is enabled by default, but in lld, for now,
we require explicitly passing the '-objc_category_merging' flag in order
to enable it.
Behavior: if in the same link unit, multiple categories are extending
the same class, then they get merged into a single category.
Ex: Cat1(method1+method2,protocol1) + Cat2(method3+method4,protocol2,
property1) = Cat1_2(method1+method2+method3+method4,
protocol1+protocol2, property1)
Notes on implementation decisions made in this diff:
There is a possibility to further improve the current implementation by
directly merging the category data into the base class (if the base
class is present in the link unit) - this improvement may be done as a
follow-up. This improved functionality is already present in ld64.
We do the merging on the raw inputSections - after dead-stripping
(categories can't be dead stripped anyway).
The changes are mostly self-contained to ObjC.cpp, except for adding a
new flag (linkerOptimizeReason) to ConcatInputSection and StringPiece to
mark that this data has been optimized away. Another way to do it would
have been to just mark the pieces as not 'live' but this would cause the
old symbols to show up in the linker map as being dead-stripped - even
if dead-stripping is disabled. This flag allows us to match the ld64
behavior.
Note: This is a re-land of
https://github.com/llvm/llvm-project/pull/82928 after fixing using
already freed memory in `generatedSectionData`. This issue was detected
by ASAN build.
---------
Co-authored-by: Alex B <alexborcan at meta.com>
Commit: 4242d15e68580d1d1f7c4d782a59e6dffb698ca8
https://github.com/llvm/llvm-project/commit/4242d15e68580d1d1f7c4d782a59e6dffb698ca8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
Log Message:
-----------
[flang][cuda] Update syntax of fir.cuda_kernel_launch to match fir.call (#85814)
`fir.cuda_kernel_launch` represents a call to a cuda kernel with the
chervon syntax. Its assembly format is meant to match `fir.call`. This
patch updates the format to match the syntax closer for args and their
types.
Commit: 12a6546395c6225112731f33608afed452c4f8d1
https://github.com/llvm/llvm-project/commit/12a6546395c6225112731f33608afed452c4f8d1
Author: Evan Wilde <etceterawilde at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Preprocessor/sysroot-prefix.c
Log Message:
-----------
Add support for sysroot-relative system header search paths (#82084)
Clang supported header searchpaths of the form `-I =/path`, relative to
the sysroot if one is passed, but did not implement that behavior for
`-iquote`, `-isystem`, or `-idirafter`.
This implements the `=` portion of the behavior implemented by GCC for
these flags described in
https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html.
Commit: 2377b9773d40d2daa249ac20fe452f041bb6a88c
https://github.com/llvm/llvm-project/commit/2377b9773d40d2daa249ac20fe452f041bb6a88c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/X86/pr85681.ll
Log Message:
-----------
[DAG] SimplifyShift - shift i1/vXi1 X, Y --> X (any non-zero shift amount is undefined).
Alive2: https://alive2.llvm.org/ce/z/SdESbg
Fixes #85681
Commit: 8cbb8ac02cc481723a0e0c20beab03fdc50accd9
https://github.com/llvm/llvm-project/commit/8cbb8ac02cc481723a0e0c20beab03fdc50accd9
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Add folding for SelectOp (#85430)
Add missing constant propogation folder for spirv.Select
Implement additional folding when both selections are equivalent or the
condition is a constant Scalar/SplatVector.
Allows for constant folding in the IndexToSPIRV pass.
Part of work #70704
Commit: 5cfcd9bc13ac0f1be519e2e2d69276c82cbba3b9
https://github.com/llvm/llvm-project/commit/5cfcd9bc13ac0f1be519e2e2d69276c82cbba3b9
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[cmake] Reenable FatLTO for Fuchsia toolchains
We can reenable this now that FatLTO won't be enabled for Mac platforms
Pull Request: https://github.com/llvm/llvm-project/pull/85709
Commit: e3030f1e1958a2be51822bacce764395c16e682a
https://github.com/llvm/llvm-project/commit/e3030f1e1958a2be51822bacce764395c16e682a
Author: Alfie Richards <alfie.richards at arm.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h
M llvm/test/MC/ARM/basic-arm-instructions.s
Log Message:
-----------
[ARM] FIX: Fix parsing `pkhtb` with a condition code
This was broken by https://github.com/llvm/llvm-project/pull/83436 as in
optional operands meant when the CC operand is provided the
`parsePKHImm` parser is applied to register operands, which previously
erroneously produced an error.
Commit: 31f4b329c8234fab9afa59494d7f8bdaeaefeaad
https://github.com/llvm/llvm-project/commit/31f4b329c8234fab9afa59494d7f8bdaeaefeaad
Author: quic-areg <aregmi at quicinc.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/hexagon-default-build-attributes.s
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/Object/ELFObjectFile.h
A llvm/include/llvm/Support/HexagonAttributeParser.h
A llvm/include/llvm/Support/HexagonAttributes.h
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/HexagonAttributeParser.cpp
A llvm/lib/Support/HexagonAttributes.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.h
M llvm/lib/Target/Hexagon/HexagonTargetStreamer.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
A llvm/test/CodeGen/Hexagon/build-attributes.ll
A llvm/test/MC/Hexagon/directive-attribute-err.s
A llvm/test/MC/Hexagon/directive-attribute.s
A llvm/test/MC/Hexagon/hexagon_attributes.s
M llvm/test/tools/llvm-readobj/ELF/machine-specific-section-types.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[Hexagon] ELF attributes for Hexagon (#85359)
Defines a subset of attributes and emits them to a section called
.hexagon.attributes.
The current attributes recorded are the attributes needed by
llvm-objdump to automatically determine target features and eliminate
the need to manually pass features.
Commit: 73302d3ca4c59db9ddd963d132ba07eb6e2f23e7
https://github.com/llvm/llvm-project/commit/73302d3ca4c59db9ddd963d132ba07eb6e2f23e7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[gn build] Port 31f4b329c823
Commit: 1678785ffc468cdd90adaa0a6806a34630b73e7b
https://github.com/llvm/llvm-project/commit/1678785ffc468cdd90adaa0a6806a34630b73e7b
Author: Michael Jones <michaelrj at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
Log Message:
-----------
[libc][bazel] unglob libc macros (#85831)
In a previous patch an "internal_includes" target was created to give
access to the macro headers. This patch removes that in favor of
individual targets for these headers, better matching the existing code.
Commit: 23047dfbf1cffa4f060d5211bef43312b3bf9bc9
https://github.com/llvm/llvm-project/commit/23047dfbf1cffa4f060d5211bef43312b3bf9bc9
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
Log Message:
-----------
[InstCombine] Add more tests for simplifying `(icmp (and/or x, Mask), y)`; NFC
Commit: b60cf84e0965ac12b83494f803ea0dd6dec0db77
https://github.com/llvm/llvm-project/commit/b60cf84e0965ac12b83494f803ea0dd6dec0db77
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
Log Message:
-----------
[InstCombine] Add more cases for simplifying `(icmp (and/or x, Mask), y)`
This cleans up basically all the regressions assosiated from #84688
Proof of all new cases: https://alive2.llvm.org/ce/z/5yYWLb
Closes #85445
Commit: ebd13796639ea7015b3672ff179612ee7d897bf9
https://github.com/llvm/llvm-project/commit/ebd13796639ea7015b3672ff179612ee7d897bf9
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
A llvm/test/CodeGen/X86/int-to-fp-demanded.ll
Log Message:
-----------
[DAGCombiner] Add tests for simplifying `{si|ui}tofp`; NFC
Commit: 353fbeb0a294d2c7cef6d88607fa0fd50ee81462
https://github.com/llvm/llvm-project/commit/353fbeb0a294d2c7cef6d88607fa0fd50ee81462
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/combine-sse41-intrinsics.ll
M llvm/test/CodeGen/X86/int-to-fp-demanded.ll
Log Message:
-----------
[DAGCombiner] Simplifying `{si|ui}tofp` when only signbit is needed
If we only need the signbit `uitofp` simplified to 0, and `sitofp`
simplifies to `bitcast`.
Closes #85138
Commit: 888e2849036c7a216dd6208a2fe5a59393d4767a
https://github.com/llvm/llvm-project/commit/888e2849036c7a216dd6208a2fe5a59393d4767a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/bswap.ll
Log Message:
-----------
[NVPTX] Use PTX prmt for llvm.bswap (#85545)
Commit: 35bf8e798dc61aee9fcfbc0b162169295d1ce290
https://github.com/llvm/llvm-project/commit/35bf8e798dc61aee9fcfbc0b162169295d1ce290
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
M llvm/unittests/Support/LEB128Test.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[Support] Add decodeULEB128AndInc/decodeSLEB128AndInc
Many decodeULEB128/decodeSLEB128 users need to increment the pointer.
Add helpers to simplify this common pattern. We don't add `end` and
`error` parameters at present because many users don't need them.
Pull Request: https://github.com/llvm/llvm-project/pull/85739
Commit: e28d3e9b4e5779028a38ca39ed060938ff62c498
https://github.com/llvm/llvm-project/commit/e28d3e9b4e5779028a38ca39ed060938ff62c498
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
Log Message:
-----------
[NFC] [hwasan] factor get[PC|FP] out of HWASan class (#84404)
Also be consistent about naming SP / FP.
This is to prepare for stack history buffer for memtag-stack
Commit: b5d02bbd0d9595501597ddbcf93ac51b160fc8bf
https://github.com/llvm/llvm-project/commit/b5d02bbd0d9595501597ddbcf93ac51b160fc8bf
Author: dhruvachak <Dhruva.Chakrabarti at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/map_struct_ordering.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_firstprivate_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_deref_array_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
Log Message:
-----------
[OpenMP] Increment kernel args version, used by runtime for detecting dyn_ptr. (#85363)
A kernel implicit parameter (dyn_ptr) was introduced some time back.
This patch increments the kernel args version for a compiler supporting
dyn_ptr. The version will be used by the runtime to determine whether
the implicit parameter is generated by the compiler. The versioning is
required to support use cases where code generated by an older compiler
is linked with a newer runtime.
If approved, this patch should be backported to release 18.
Commit: 1bab88df075d87dd66e8a54d88d16f8540452b8f
https://github.com/llvm/llvm-project/commit/1bab88df075d87dd66e8a54d88d16f8540452b8f
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M lld/ELF/Driver.cpp
Log Message:
-----------
[ELF] Move some operations from link to setConfigs. NFC
Commit: 12a2bc301fe83eea3b214428827d712c8cfb28a9
https://github.com/llvm/llvm-project/commit/12a2bc301fe83eea3b214428827d712c8cfb28a9
Author: Lei Wang <wlei at fb.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
A llvm/test/Transforms/SampleProfile/Inputs/csspgo-import-list-preinliner.prof
A llvm/test/Transforms/SampleProfile/csspgo-import-list-preinliner.ll
Log Message:
-----------
[CSSPGO] Fix the issue of preinliner import function list (#85719)
By design, when the nested profile is pre-inliner based, we should fully
honor pre-inliner decision, fix it by setting threshold to zero. We
observed a perf win on one internal service, no negative impact for
other big services.
Commit: f2bb6fb0ca0bfbaf39d9b8039df22b6918ac99b6
https://github.com/llvm/llvm-project/commit/f2bb6fb0ca0bfbaf39d9b8039df22b6918ac99b6
Author: Jeremy Kun <jkun at google.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
Add Maksim and me to office hours (#85824)
Followup from
https://discourse.llvm.org/t/extending-an-invitation-to-compiler-newbies-compilers-coffee/77776
Commit: 4bf06bebb9d34bb7e3e025442dd0c1cb4e9d3911
https://github.com/llvm/llvm-project/commit/4bf06bebb9d34bb7e3e025442dd0c1cb4e9d3911
Author: Jiahan Xie <88367305+jiahanxie353 at users.noreply.github.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-ld.ll
Log Message:
-----------
[GISEL][RISCV] IRTranslator for scalable vector load (#80006)
Add IRTranslator for scalable vector load instruction and include
corresponding tests with alignment argument included, which can be
smaller/equal/larger than element size or smaller/equal/larger than the
minimum total vector size.
Commit: 36146d2b6be53e5e98dee3c1fce8699db9615728
https://github.com/llvm/llvm-project/commit/36146d2b6be53e5e98dee3c1fce8699db9615728
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
Log Message:
-----------
[ELF] Make LinkerDrive::link a template. NFC
This avoids many invokeELFT in `link`.
Commit: 595280af561fdba156efbdd654ed4076855aac9c
https://github.com/llvm/llvm-project/commit/595280af561fdba156efbdd654ed4076855aac9c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
Revert "[llvm] Include LLVM_REPOSITORY and LLVM_REVISION in tool version" (#85879)
Reverts llvm/llvm-project#84990 because this causes a full rebuild after
the commit hash changes.
Commit: 22ac5f743811ae1e5004fdd43be556ebbd0496d1
https://github.com/llvm/llvm-project/commit/22ac5f743811ae1e5004fdd43be556ebbd0496d1
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/lib/Conversion/MemRefToLLVM/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRFuncDialect dep to MLIRMemRefToLLVM (#84546)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRMemRefToLLVM.a only:
```
In file included from mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp:18:
mlir/include/mlir/Dialect/Func/IR/FuncOps.h:29:10: fatal error: mlir/Dialect/Func/IR/FuncOps.h.inc: No such file or directory
```
Commit: f5f3d5d6534f0a38c771119653dac3330c9f207f
https://github.com/llvm/llvm-project/commit/f5f3d5d6534f0a38c771119653dac3330c9f207f
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
A clang/test/Sema/PR85343.cpp
Log Message:
-----------
[Clang][Sema] Fix a crash in lambda instantiation (#85565)
Fix https://github.com/llvm/llvm-project/issues/85343
When build lambda expression in lambda instantiation, `ThisType` is
required in `Sema::CheckCXXThisCapture` to build `this` capture. Set
`this` type by import `Sema::CXXThisScopeRAII` and it will be used later
in lambda expression transformation.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: e2fa90fa0a4b7950dd0d7fae6933e89c075d0af0
https://github.com/llvm/llvm-project/commit/e2fa90fa0a4b7950dd0d7fae6933e89c075d0af0
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M lldb/include/lldb/API/SBTarget.h
Log Message:
-----------
[lldb/API] Add missing `eBroadcastBitSymbolsChanged` to SBTarget (NFC) (#85883)
This patch exposes the missing `eBroadcastBitSymbolsChanged` event bit
in `SBTarget`.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: a289f66efd638c2af14cdb88968e4eaeea0c0605
https://github.com/llvm/llvm-project/commit/a289f66efd638c2af14cdb88968e4eaeea0c0605
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M lldb/include/lldb/Core/Disassembler.h
M lldb/include/lldb/Symbol/LineEntry.h
M lldb/include/lldb/Utility/SupportFile.h
M lldb/source/API/SBLineEntry.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/LineEntry.cpp
M lldb/source/Symbol/LineTable.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/TraceDumper.cpp
Log Message:
-----------
Revert "[lldb] Store SupportFile in FileEntry (NFC)" (#85885)
Reverts llvm/llvm-project#85468 because @slackito reports this broke
stepping in one of their tests [1] and this patch was meant to be NFC.
[1]
https://github.com/llvm/llvm-project/commit/d5a277d309e92b1d3e493da6036cffdf815105b1#commitcomment-139991120
Commit: 6f31cf51dfdc2c317ba8149d57d2ffb583403833
https://github.com/llvm/llvm-project/commit/6f31cf51dfdc2c317ba8149d57d2ffb583403833
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
Revert "[clang-format][NFC] Eliminate the IsCpp parameter in all functions (#84599)"
This reverts c3a1eb6207d8 (and the related commit f3c5278efa3b) which makes
cleanupAroundReplacements() no longer thread-safe.
Commit: 456c239d775e10a68c65cd9d461bb47e651ccbe5
https://github.com/llvm/llvm-project/commit/456c239d775e10a68c65cd9d461bb47e651ccbe5
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M lld/ELF/Arch/PPC64.cpp
Log Message:
-----------
[ELF] Set ctx.internalFile for PPC64 _savegpr[01]_{14..31} and _restgpr[01]_{14..31}. NFC
Ensure that every InputFile has a non-null file so that we enforce this
in the future.
Commit: 09db84cc5910a3546ab5b9410c295d93ed3e95cf
https://github.com/llvm/llvm-project/commit/09db84cc5910a3546ab5b9410c295d93ed3e95cf
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M lld/ELF/InputSection.cpp
Log Message:
-----------
[ELF] Remove unneeded null check in getRelocatedSection. NFC
Commit: de159aeca95edc38ddd4d729ea91b4b8160d9b83
https://github.com/llvm/llvm-project/commit/de159aeca95edc38ddd4d729ea91b4b8160d9b83
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
A llvm/test/DebugInfo/NVPTX/no-extra-loc.ll
Log Message:
-----------
[NVPTX][DebugInfo] avoid emitting extra .loc directives (#84584)
This change removes an extra, unneeded debug directive emitted in the
PTX at the beginning on non-empty functions:
```nvptx
.visible .func (.param .b32 func_retval0) foo(
.param .b32 foo_param_0,
.param .b32 foo_param_1
)
{
.reg .b32 %r<4>;
.loc 1 26 0 <---- unneeded (removed by the PR)
$L__func_begin0:
.loc 1 26 0
```
Commit: 936519f25cb4fabc19f1241e838e938926801156
https://github.com/llvm/llvm-project/commit/936519f25cb4fabc19f1241e838e938926801156
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/include/clang/AST/Availability.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/AST/Availability.cpp
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Visitor.cpp
A clang/test/InstallAPI/availability.test
A clang/test/InstallAPI/diagnostics-cpp.test
A clang/test/InstallAPI/hiddens.test
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/diagtool/DiagnosticNames.cpp
Log Message:
-----------
[InstallAPI] Verify that declarations in headers map to exports found in dylib (#85348)
* This completes support for verifying every declaration found in a
header is discovered in the dylib. Diagnostics are reported for each
class for differences that are representable in TBD files.
* This patch also now captures unavailable attributes that depend on
target triples. This is needed for proper tbd file generation.
Commit: 0412840ef877b0b4efe117f0328ac57fc669a871
https://github.com/llvm/llvm-project/commit/0412840ef877b0b4efe117f0328ac57fc669a871
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld] Fix -Wstring-conversion in ObjC.cpp (NFC)
llvm-project/lld/MachO/ObjC.cpp:617:12:
error: implicit conversion turns string literal into bool: 'const char[55]' to 'bool' [-Werror,-Wstring-conversion]
617 | assert("Tried to read pointer list beyond protocol section end");
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: db7d0ed71c6444bbe710ba107c1601d9c90bfdcc
https://github.com/llvm/llvm-project/commit/db7d0ed71c6444bbe710ba107c1601d9c90bfdcc
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
Log Message:
-----------
Revert "[lldb] Update SymbolFilePDBTests for LineEntry change (d5a277d309e9)"
This reverts commit 113214e15b5ce3f3ec313eb1fa91a7038ecd072f as the
corresponding change was reverted in a289f66.
Commit: e7175b07047d1ba7b012f811064091f12ebf8a40
https://github.com/llvm/llvm-project/commit/e7175b07047d1ba7b012f811064091f12ebf8a40
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/hip-partial-link.hip
M clang/test/Driver/hip-runtime-libs-linux.hip
Log Message:
-----------
[HIP] do not link runtime for -r (#85675)
since it will cause duplicate symbols when the partially linked object
is linked again.
Commit: 92b2b49994eb804253db1deeb7e9f63904cd96d1
https://github.com/llvm/llvm-project/commit/92b2b49994eb804253db1deeb7e9f63904cd96d1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M lldb/include/lldb/Symbol/LineEntry.h
Log Message:
-----------
[lldb] Outline Doxygen comments in LineEntry.h (NFC)
Outline and correct Doxygen comments in LineEntry.
Commit: a29234445ca7162a6db4913ec900fd9aae1fa18e
https://github.com/llvm/llvm-project/commit/a29234445ca7162a6db4913ec900fd9aae1fa18e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Refactor code to reduce nesting and remove repeated calls to getOpcode(). NFC (#85847)
Commit: f375aff594d97fc9f6cf2cffb502882833c15cdd
https://github.com/llvm/llvm-project/commit/f375aff594d97fc9f6cf2cffb502882833c15cdd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/test/MC/RISCV/rv32-machine-csr-names.s
Log Message:
-----------
[RISCV] Add the CSR names from Smrnmi. (#83370)
Specification is here
https://github.com/riscv/riscv-isa-manual/blob/main/src/rnmi.adoc
CSRs numbers defined here
https://github.com/riscv/riscv-isa-manual/blob/main/src/priv-csrs.adoc
Commit: b2082a98175b0e5356f23bf21d3dc5b76edea390
https://github.com/llvm/llvm-project/commit/b2082a98175b0e5356f23bf21d3dc5b76edea390
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M clang/lib/Format/AffectedRangeManager.cpp
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/MacroCallReconstructor.cpp
M clang/lib/Format/MacroExpander.cpp
M clang/lib/Format/NamespaceEndCommentsFixer.cpp
M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/SortJavaScriptImports.cpp
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UsingDeclarationsSorter.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
Revert "[clang-format][NFC] Delete 100+ redundant #include lines in .cpp files"
This reverts commit b92d6dd704d789240685a336ad8b25a9f381b4cc. See
github.com/llvm/llvm-project/commit/b92d6dd704d7#commitcomment-139992444
We should use a tool like Visual Studio to clean up the headers.
Commit: 3eb9ff30959a670559bcba03d149d4c51bf7c9c9
https://github.com/llvm/llvm-project/commit/3eb9ff30959a670559bcba03d149d4c51bf7c9c9
Author: Yeoul Na <yeoul_na at apple.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/bounds-safety-attributed-type.c
A clang/test/PCH/Inputs/bounds-safety-attributed-type.h
A clang/test/PCH/bounds-safety-attributed-type.c
M clang/test/Sema/attr-counted-by.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Turn 'counted_by' into a type attribute and parse it into 'CountAttributedType' (#78000)
In `-fbounds-safety`, bounds annotations are considered type attributes
rather than declaration attributes. Constructing them as type attributes
allows us to extend the attribute to apply nested pointers, which is
essential to annotate functions that involve out parameters: `void
foo(int *__counted_by(*out_count) *out_buf, int *out_count)`.
We introduce a new sugar type to support bounds annotated types,
`CountAttributedType`. In order to maintain extra data (the bounds
expression and the dependent declaration information) that is not
trackable in `AttributedType` we create a new type dedicate to this
functionality.
This patch also extends the parsing logic to parse the `counted_by`
argument as an expression, which will allow us to extend the model to
support arguments beyond an identifier, e.g., `__counted_by(n + m)` in
the future as specified by `-fbounds-safety`.
This also adjusts `__bdos` and array-bounds sanitizer code that already
uses `CountedByAttr` to check `CountAttributedType` instead to get the
field referred to by the attribute.
Commit: 4a026b5092d77426b70ab299447af4dbd5a012d9
https://github.com/llvm/llvm-project/commit/4a026b5092d77426b70ab299447af4dbd5a012d9
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-break-large-phis.ll
Log Message:
-----------
[AMDGCN] Use ZExt when handling indices in insertment element (#85718)
When i1 true is used as an index, SExt extends it to i32 -1. This would
cause BitVector to overflow.
The language manual have specified that the index shall be treated as an
unsigned number, this patch fixes that.
(https://llvm.org/docs/LangRef.html#insertelement-instruction)
This patch fixes #85717
---------
Signed-off-by: Peter Rong <PeterRong96 at gmail.com>
Commit: c2423024923bae9176eda6cd958217c83955150d
https://github.com/llvm/llvm-project/commit/c2423024923bae9176eda6cd958217c83955150d
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.h
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] DI Recursive Type fix for recursion via scope of composites (#85850)
Fixes this bug for the previous recursive DI type PR:
https://github.com/llvm/llvm-project/pull/80251#issuecomment-2007254788.
Drawing inspiration from how clang uses DIBuilder to build forward
decls, this PR changes how placeholders are created & updated. Instead
of requiring each recursive DIType to do in-place mutation, we simply
ask for a temporary node as the placeholder, and run RAUW at the end
when the concrete node is translated.
This has the side effect of simplifying what's needed to add recursion
support for a type. Now only one additional method needs to be created
for exporting. Concretely, for this PR, `translateImpl` for
DICompositeType is back to the state it was before the previous PR, and
the only net addition for DICompositeType is `translateTemporaryImpl`.
---------
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: 6960ace534c4021301dd5a9933ca06ba96edea23
https://github.com/llvm/llvm-project/commit/6960ace534c4021301dd5a9933ca06ba96edea23
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/add-sitofp.ll
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
M llvm/test/Transforms/InstCombine/pr27236.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
Log Message:
-----------
Revert "[InstCombine] Canonicalize `(sitofp x)` -> `(uitofp x)` if `x >= 0`"
This reverts commit d80d5b923c6f611590a12543bdb33e0c16044d44.
It wasn't a particularly important transform to begin with and caused
some codegen regressions on targets that prefer `sitofp` so dropping.
Might re-visit along with adding `nneg` flag to `uitofp` so its easily
reversable for the backend.
Commit: d7e28cd82bd3141093f96f7ce2e7b36f1b115fad
https://github.com/llvm/llvm-project/commit/d7e28cd82bd3141093f96f7ce2e7b36f1b115fad
Author: YunQiang Su <syq at debian.org>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/test/Driver/mips-features.c
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
A llvm/test/CodeGen/Mips/no-unaligned-access-r6.ll
Log Message:
-----------
MIPS: Support -m(no-)unaligned-access for r6 (#85174)
MIPSr6 ISA requires normal load/store instructions support
misunaligned memory access, while it is not always do so
by hardware. On some microarchitectures or some corner cases
it may need support by OS.
Don't confuse with pre-R6's lwl/lwr famlily: MIPSr6 doesn't
support them, instead, r6 requires lw instruction support
misunaligned memory access. So, if -mstrict-align is used for
pre-R6, lwl/lwr won't be disabled.
If -mstrict-align is used for r6 and the access is not well
aligned, some lb/lh instructions will be used to replace lw.
This is useful for OS kernels.
To be back-compatible with GCC, -m(no-)unaligned-access are also
added as Neg-Alias of -m(no-)strict-align.
Commit: d538c5616f4d25c6f50a1285984aba806252ce17
https://github.com/llvm/llvm-project/commit/d538c5616f4d25c6f50a1285984aba806252ce17
Author: Matteo Franciolini <mfranciolini at tesla.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
Log Message:
-----------
[mlir][bufferize] Fix broken implementation of denyDialect (#85881)
The current implementation is not functional and does not compile. The
patch allows to correctly mark a dialect as denied for the purpose of
bufferization.
Commit: 807fd07646646d7f96bd3561e79435b5d7bb4a64
https://github.com/llvm/llvm-project/commit/807fd07646646d7f96bd3561e79435b5d7bb4a64
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Log Message:
-----------
[clangd] Handle variable templates consistently with class templates in code completion (#85740)
The option --function-arg-placeholders=0 results in placeholders being
omitted for class template argument lists. This patch extends the same
treatment to variable template argument lists.
Fixes https://github.com/clangd/clangd/issues/1976
Commit: 5e78417db5acbcbfb33e6503e97be0734fca0631
https://github.com/llvm/llvm-project/commit/5e78417db5acbcbfb33e6503e97be0734fca0631
Author: Justin Holewinski <jholewinski at nvidia.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
Log Message:
-----------
[MLIR][CUDA] Use _alloca instead of alloca on Windows (#85853)
MSVC/Windows does not support `alloca()`; instead it defines `_alloca()`
in `malloc.h`.
Commit: 9848fa4aa2a83b0fc3a93e5f905ef09c8dd85226
https://github.com/llvm/llvm-project/commit/9848fa4aa2a83b0fc3a93e5f905ef09c8dd85226
Author: Krishna Narayanan <84722531+Krishna-13-cyber at users.noreply.github.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/test/Transforms/InstCombine/double-float-shrink-1.ll
M llvm/test/Transforms/InstCombine/pow-1.ll
M llvm/test/Transforms/InstCombine/pow-exp.ll
Log Message:
-----------
Enable exp10 libcall on linux (#68736)
Commit: 756c20561efa1e58bd7d2a6df1499997b6b52e23
https://github.com/llvm/llvm-project/commit/756c20561efa1e58bd7d2a6df1499997b6b52e23
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
A clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc
M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
M clang/unittests/Tooling/StandardLibraryTest.cpp
Log Message:
-----------
[clang][Tooling] Add special symbol mappings for C, starting with size_t (#85784)
Commit: f0420c7bc67339e080cb2a13b6f3eb824faf9288
https://github.com/llvm/llvm-project/commit/f0420c7bc67339e080cb2a13b6f3eb824faf9288
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/InstCombine/and-or-implied-cond-not.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
Log Message:
-----------
[ValueTracking] Handle `not` in `isImpliedCondition` (#85397)
This patch handles `not` in `isImpliedCondition` to enable more fold in
some multi-use cases.
Commit: 27df1b23e07009b1450ebb2072abac97e2958b07
https://github.com/llvm/llvm-project/commit/27df1b23e07009b1450ebb2072abac97e2958b07
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLPVectorizer] Use TargetFolder (#85800)
Use IRBuilder with TargetFolder in SLPVectorizer to avoid the custom
constant folding code.
This fixes the remaining part of
https://github.com/llvm/llvm-project/issues/61240.
Commit: 4462bb58be7d68274fb9b443b7bf4803306df87d
https://github.com/llvm/llvm-project/commit/4462bb58be7d68274fb9b443b7bf4803306df87d
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[InstallAPI][bazel] Update BUILD after 936519f25cb4fabc19f1241e838e938926801156
Commit: 11dd881b9cca5f70720ead353169603589e6c494
https://github.com/llvm/llvm-project/commit/11dd881b9cca5f70720ead353169603589e6c494
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libcxx/include/__format/format_arg_store.h
A libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp
Log Message:
-----------
[libc++][format] Fixes nested concept evaluation. (#85548)
Before the __formattable concept depended on itself in a contrieved
example. By using the underlying concept directly the cycle is broken.
Fixes https://github.com/llvm/llvm-project/issues/81590
Commit: 272d1b44efdedb68c194970a610f0ca1b7b769c5
https://github.com/llvm/llvm-project/commit/272d1b44efdedb68c194970a610f0ca1b7b769c5
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libcxx/modules/CMakeLists.txt
Log Message:
-----------
[libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#85756)
In other contexts, install directories such as
LIBCXX_INSTALL_LIBRARY_DIR and LIBCXX_INSTALL_MODULES_DIR can be
specified either as a relative path, relative to CMAKE_INSTALL_PREFIX,
or as an absolute path.
When calculating the relative path between the two, account for the fact
that LIBCXX_INSTALL_MODULES_DIR and LIBCXX_INSTALL_LIBRARY_DIR can be
absolute paths too.
Commit: cf09b7dec463178fbdefc72dc262d209d865c1c9
https://github.com/llvm/llvm-project/commit/cf09b7dec463178fbdefc72dc262d209d865c1c9
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__ranges/view_interface.h
M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
Log Message:
-----------
[libc++][ranges] LWG3715: `view_interface::empty` is overconstrained (#85004)
## Abstract
This pull request implements LWG3715: `view_interface::empty` is
overconstrained. Here is an example similar to those described in the
report, which compiles with `-stdlib=libstdc++` but failed to compile
with `-stdlib=libc++`:
```cpp
// https://godbolt.org/z/EWEoTzah3
std::istringstream input("1 2 3 4 5");
auto i = std::views::istream<int>(input);
auto r = std::views::counted(i.begin(), 4) | std::views::take(2);
assert(!r.empty());
```
## Reference
- [Draft C++ Standard:
[view.interface.general]](https://eel.is/c++draft/view.interface.general)
- [LWG3715](https://wg21.link/LWG3715)
Commit: 211eebf44fb7076d59c2d683d9211f9d44e50cce
https://github.com/llvm/llvm-project/commit/211eebf44fb7076d59c2d683d9211f9d44e50cce
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libcxx/include/__concepts/class_or_enum.h
M libcxx/include/__ranges/access.h
M libcxx/include/__ranges/data.h
M libcxx/include/__ranges/empty.h
M libcxx/include/__ranges/rbegin.h
M libcxx/include/__ranges/rend.h
M libcxx/include/__ranges/size.h
Log Message:
-----------
[libc++][ranges] remove `__workaround_52970` (#85683)
## Abstract
This pull request removes the `__workaround_52970` concept. This concept
is a workaround for a bug described in #52970, which causes the compiler
to trigger ADL on a pointer to an incomplete type in an SFINAE context.
This bug is fixed in Clang 14.
## Reference
- [[clang] Don't typo-fix an expression in a SFINAE
context](https://reviews.llvm.org/D117603)
- [[libc++] [ranges] ADL-proof the [range.access]
CPOs.](https://reviews.llvm.org/D116239)
Commit: 070d1e83213f0e9eb71582141dd2323131a307e3
https://github.com/llvm/llvm-project/commit/070d1e83213f0e9eb71582141dd2323131a307e3
Author: Pravin Jagtap <prjagtap at amd.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
A llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
Log Message:
-----------
[AMDGPU] Add test for fpext & fptrunc with bf16. (#85909)
Authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>
Commit: e6b5bd5854c80eac05f415ad282ba84b840b8af8
https://github.com/llvm/llvm-project/commit/e6b5bd5854c80eac05f415ad282ba84b840b8af8
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-version.cpp
Log Message:
-----------
[FMV] Emit the resolver along with the default version definition. (#84405)
We would like the resolver to be generated eagerly, even if the
versioned function is not called from the current translation
unit. Fixes #81494. It further allows Multi Versioning to work
even if the default target version attribute is omitted from
function declarations.
Commit: 9fd1c4121f7c797ff7222161cb40cd68ecf0fbc8
https://github.com/llvm/llvm-project/commit/9fd1c4121f7c797ff7222161cb40cd68ecf0fbc8
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/lib/Conversion/LinalgToStandard/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRLinalgTransforms to LinalgToStandard conv (#84545)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRLinalgToStandard.a only:
```
In file included from mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h:12,
from mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h:21,
from mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp:15:
mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h:20:10: fatal error: mlir/Dialect/Vector/Transforms/VectorTransformsEnums.h.inc: No such file or directory
```
Commit: d03263814aa1a686e5aaca99ab9d87408b2c6cb5
https://github.com/llvm/llvm-project/commit/d03263814aa1a686e5aaca99ab9d87408b2c6cb5
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
Log Message:
-----------
[PowerPC] Fix operand regclass of XSTSTDCSP
Commit: 1f1e0948f20338961f995426c11497e8f21ceb08
https://github.com/llvm/llvm-project/commit/1f1e0948f20338961f995426c11497e8f21ceb08
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/array-value-copy-2.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Lower/OpenMP/FIR/flush.f90
M flang/test/Lower/OpenMP/FIR/master.f90
M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
A flang/test/Transforms/omp-reduction-cfg-conversion.fir
Log Message:
-----------
[flang] run CFG conversion on omp reduction declare ops (#84953)
Most FIR passes only look for FIR operations inside of functions (either
because they run only on func.func or they run on the module but iterate
over functions internally). But there can also be FIR operations inside
of fir.global, some OpenMP and OpenACC container operations.
This has worked so far for fir.global and OpenMP reductions because they
only contained very simple FIR code which doesn't need most passes to be
lowered into LLVM IR. I am not sure how OpenACC works.
In the long run, I hope to see a more systematic approach to making sure
that every pass runs on all of these container operations. I will write
an RFC for this soon.
In the meantime, this pass duplicates the CFG conversion pass to also
run on omp reduction operations. This is similar to how the
AbstractResult pass is already duplicated for fir.global operations.
OpenMP array reductions 2/6
Previous PR: https://github.com/llvm/llvm-project/pull/84952
Next PR: https://github.com/llvm/llvm-project/pull/84954
---------
Co-authored-by: Mats Petersson <mats.petersson at arm.com>
Commit: 1f63a56cede85bcd5f4fea3663bd3a47b801a396
https://github.com/llvm/llvm-project/commit/1f63a56cede85bcd5f4fea3663bd3a47b801a396
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
Log Message:
-----------
[flang][CodeGen] Run PreCGRewrite on omp reduction declare ops (#84954)
OpenMP reduction declare operations can contain FIR code which needs to
be lowered to LLVM. With array reductions, these regions can contain
more complicated operations which need PreCGRewriting. A similar extra
case was already needed for fir::GlobalOp.
OpenMP array reductions 3/6
Previous PR: https://github.com/llvm/llvm-project/pull/84953
Next PR: https://github.com/llvm/llvm-project/pull/84955
Commit: 0f46e31cfbf415fcd3d3ce121bef94e92c6ccfc8
https://github.com/llvm/llvm-project/commit/0f46e31cfbf415fcd3d3ce121bef94e92c6ccfc8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGVTT.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/const-init-cxx11.cpp
M clang/test/CodeGenCXX/constructor-init.cpp
M clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp
M clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
M clang/test/CodeGenCXX/microsoft-interface.cpp
M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
M clang/test/CodeGenCXX/static-init.cpp
M clang/test/CodeGenCXX/strict-vtable-pointers.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
M clang/test/CodeGenCXX/vtt-layout.cpp
M clang/test/OpenMP/target_data_use_device_ptr_inheritance_codegen.cpp
M lld/test/ELF/lto/Inputs/devirt_validate_vtable_typeinfos_ref.ll
M lld/test/ELF/lto/Inputs/devirt_validate_vtable_typeinfos_undef.ll
M lld/test/ELF/lto/devirt_split_unit_localize.ll
M lld/test/ELF/lto/devirt_validate_vtable_typeinfos_ref.ll
M lld/test/MachO/thinlto-split-unit-start-lib.ll
M llvm/docs/LangRef.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/ConstantFold.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/Operator.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/Operator.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Transforms/IPO/GlobalSplit.cpp
M llvm/lib/Transforms/Utils/FunctionComparator.cpp
M llvm/test/Assembler/getelementptr.ll
A llvm/test/Assembler/inrange-errors.ll
M llvm/test/Bitcode/compatibility-4.0.ll
M llvm/test/Bitcode/compatibility-5.0.ll
M llvm/test/Bitcode/compatibility-6.0.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Other/optimize-inrange-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-base-call.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-base-pointer-call.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-derived-call.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-derived-pointer-call.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-novfe.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-visibility-post-lto.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-visibility-pre-lto.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions.ll
M llvm/test/Transforms/GlobalDCE/vtable-rtti.ll
M llvm/test/Transforms/GlobalSplit/basic.ll
M llvm/test/Transforms/GlobalSplit/non-beneficial.ll
M llvm/test/Transforms/GlobalSplit/nonlocal.ll
M llvm/test/Transforms/Inline/devirtualize-4.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
M llvm/test/Transforms/Internalize/vcall-visibility.ll
M llvm/test/Transforms/MergeFunc/constexpr.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/pr33536.ll
Log Message:
-----------
[IR] Change representation of getelementptr inrange (#84341)
As part of the migration to ptradd
(https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699),
we need to change the representation of the `inrange` attribute, which
is used for vtable splitting.
Currently, inrange is specified as follows:
```
getelementptr inbounds ({ [4 x ptr], [4 x ptr] }, ptr @vt, i64 0, inrange i32 1, i64 2)
```
The `inrange` is placed on a GEP index, and all accesses must be "in
range" of that index. The new representation is as follows:
```
getelementptr inbounds inrange(-16, 16) ({ [4 x ptr], [4 x ptr] }, ptr @vt, i64 0, i32 1, i64 2)
```
This specifies which offsets are "in range" of the GEP result. The new
representation will continue working when canonicalizing to ptradd
representation:
```
getelementptr inbounds inrange(-16, 16) (i8, ptr @vt, i64 48)
```
The inrange offsets are relative to the return value of the GEP. An
alternative design could make them relative to the source pointer
instead. The result-relative format was chosen on the off-chance that we
want to extend support to non-constant GEPs in the future, in which case
this variant is more expressive.
This implementation "upgrades" the old inrange representation in bitcode
by simply dropping it. This is a very niche feature, and I don't think
trying to upgrade it is worthwhile. Let me know if you disagree.
Commit: 27534d69e275eeb6669296c038bf29d8a9b163e5
https://github.com/llvm/llvm-project/commit/27534d69e275eeb6669296c038bf29d8a9b163e5
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-reduction-call.mlir
Log Message:
-----------
[mlir][LLVM] erase call mappings in forgetMapping() (#84955)
It looks like the mappings for call instructions were forgotten here.
This fixes a bug in OpenMP when in-lining a region containing call
operations multiple times.
OpenMP array reductions 4/6
Previous PR: https://github.com/llvm/llvm-project/pull/84954
Next PR: https://github.com/llvm/llvm-project/pull/84957
Commit: 56e32491526e21687ed1466a99ae39a9374e30b0
https://github.com/llvm/llvm-project/commit/56e32491526e21687ed1466a99ae39a9374e30b0
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Simplify GFX11/GFX12 FLAT instruction definitions. NFC. (#85819)
- Give the tablegen record for the Real the same name as the tablegen
record for the pseudo. This removes all cases where the same
instruction name has to be mentioned more than once on the definition
line.
- Use multiclasses for all Real definitions, to allow suffixes to be
added bit by bit, e.g. first _SADDR and then _gfx11.
This is a similar approach to the one used in BUFInstructions.td.
Commit: eefef900c6a24f2acd724726bc52884e058575da
https://github.com/llvm/llvm-project/commit/eefef900c6a24f2acd724726bc52884e058575da
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/test/Transforms/InstCombine/double-float-shrink-1.ll
M llvm/test/Transforms/InstCombine/pow-1.ll
M llvm/test/Transforms/InstCombine/pow-exp.ll
Log Message:
-----------
Revert "Enable exp10 libcall on linux (#68736)"
This reverts commit 9848fa4aa2a83b0fc3a93e5f905ef09c8dd85226.
Causes buildbot failures.
Commit: 3b0a426b3fbe99e128b718a4761ea30b394ce9bb
https://github.com/llvm/llvm-project/commit/3b0a426b3fbe99e128b718a4761ea30b394ce9bb
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
Log Message:
-----------
[flang][NFC] move extractSequenceType helper out of OpenACC to share code (#84957)
Moving extractSequenceType to FIRType.h so that this can also be used
from OpenMP.
OpenMP array reductions 5/6
Previous PR: https://github.com/llvm/llvm-project/pull/84955
Next PR: https://github.com/llvm/llvm-project/pull/84958
Commit: 260ac8e52f6dac02958aca874ba46dea0b99fef3
https://github.com/llvm/llvm-project/commit/260ac8e52f6dac02958aca874ba46dea0b99fef3
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
Log Message:
-----------
[MLIR] Remove unneeded FuncOps.h include in AffineAnalysis (#85912)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRAffineAnalysis.a only:
In file included from
mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp:20:
mlir/include/mlir/Dialect/Func/IR/FuncOps.h:29:10: fatal error:
mlir/Dialect/Func/IR/FuncOps.h.inc: No such file or directory
Commit: fe1341248d7dd9abd0545ddb48373756645c3f9f
https://github.com/llvm/llvm-project/commit/fe1341248d7dd9abd0545ddb48373756645c3f9f
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M openmp/libomptarget/test/offloading/workshare_chunk.c
Log Message:
-----------
[OpenMP] Disable workshare_chunk.c test case on SystemZ
The test added by https://github.com/llvm/llvm-project/pull/83261
has been consistently failing. Mark as UNSUPPORTED just like on
x86_64 and aarch64.
Commit: cd768ec9837afed4d226a5abc8035a1559c18bc5
https://github.com/llvm/llvm-project/commit/cd768ec9837afed4d226a5abc8035a1559c18bc5
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/unittests/Target/AArch64/AddressingModes.cpp
Log Message:
-----------
[AArch64] Support scalable offsets with isLegalAddressingMode (#83255)
Allows us to indicate that an addressing mode featuring a
vscale-relative immediate offset is supported.
Commit: 0247564c14ffc7f6a13ed9d127e32bfdfbf93a19
https://github.com/llvm/llvm-project/commit/0247564c14ffc7f6a13ed9d127e32bfdfbf93a19
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRGPUDialect dep to MLIRSPIRVDialect (#84554)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRSPIRVDialect.a only:
```
mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp:17:
mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h:120:10: fatal error: mlir/Dialect/GPU/IR/CompilationAttrInterfaces.h.inc: No such file or directory
```
Commit: b7975cae7b18485e704a86ed4690a621e5064e13
https://github.com/llvm/llvm-project/commit/b7975cae7b18485e704a86ed4690a621e5064e13
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-version.cpp
Log Message:
-----------
Revert "[FMV] Emit the resolver along with the default version definition." (#85914)
Reverts llvm/llvm-project#84405
In between of passing the precommit tests on github and being merged
some change (perhaps in the AArch64 backend?) landed which resulted
in altering the generated resolver. I will regenerate the tests
perhaps using a less sensitive runline to such changes.
Commit: d93cfd8dab577b09a8d01ef10a279b02572e4814
https://github.com/llvm/llvm-project/commit/d93cfd8dab577b09a8d01ef10a279b02572e4814
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Add a missing dependency for aa95aa69b96f51a3c19a24a0387ebc1fb7e6e52c
Commit: 7227ec98ad9a5e8e973d0c831e6f8bc0f7029f9f
https://github.com/llvm/llvm-project/commit/7227ec98ad9a5e8e973d0c831e6f8bc0f7029f9f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/ranges_iterator_traits.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__type_traits/copy_cv.h
M libcxx/include/__type_traits/is_assignable.h
M libcxx/include/__type_traits/is_constructible.h
M libcxx/include/__type_traits/is_nothrow_assignable.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_trivially_assignable.h
Log Message:
-----------
[libc++][NFC] Remove uses of add_{const,cv,volatile} (#85635)
These traits can be expressed without having to instantiate any classes,
reducing compile times slightly.
Commit: 36a3f8f6471ba04b7ebf32a3393708b8fb32aecf
https://github.com/llvm/llvm-project/commit/36a3f8f6471ba04b7ebf32a3393708b8fb32aecf
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/unittests/Target/AArch64/CMakeLists.txt
A llvm/unittests/Target/AArch64/Immediates.cpp
Log Message:
-----------
[TTI][TLI][AArch64] Support scalable immediates with isLegalAddImmediate (#84173)
Adds a second parameter (default to 0) to isLegalAddImmediate, to
represent a scalable immediate.
Extends the AArch64 implementation to match immediates based on what addvl and inc[h|w|d] support.
Commit: 22f20564a8fc29ce6d3f5de075a2849ff8acb874
https://github.com/llvm/llvm-project/commit/22f20564a8fc29ce6d3f5de075a2849ff8acb874
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libcxx/test/libcxx/module_std.gen.py
M libcxx/test/libcxx/module_std_compat.gen.py
Log Message:
-----------
[libc++][CI] Reenables the module tests. (#85799)
These were disabled due to ODR violations with mixed versions of
clang-tidy and the clang libraries. This issue was fixed in
e19e8600cf743690e1a23fb8a2b0dfbe2dafe559.
This reverts commit 0bbada93a559b604797fe57978f3eca5e41edaeb.
Commit: 197f3ecf92b91ad1626307a17edf0761f2e4136b
https://github.com/llvm/llvm-project/commit/197f3ecf92b91ad1626307a17edf0761f2e4136b
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
R flang/test/Lower/OpenMP/Todo/reduction-arrays.f90
A flang/test/Lower/OpenMP/parallel-reduction-array.f90
A flang/test/Lower/OpenMP/parallel-reduction-array2.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
Log Message:
-----------
[flang][OpenMP] lower simple array reductions (#84958)
This has been tested with arrays with compile-time constant bounds.
Allocatable arrays and arrays with non-constant bounds are not yet
supported. User-defined reduction functions are also not yet supported.
The design is intended to work for arrays with non-constant bounds too
without a lot of extra work (mostly there are bugs in OpenMPIRBuilder I
haven't fixed yet).
We need some way to get these runtime bounds into the reduction init and
combiner regions. To keep things simple for now I opted to always box
the array arguments so the box can be passed as one argument and the
lower bounds and extents read from the box. This has the disadvantage of
resulting in fir.box_dim operations inside of the critical section. If
these prove to be a performance issue, we could follow OpenACC reading
box lower bounds and extents before the reduction and passing them as
block arguments to the reduction init and combiner regions. I would
prefer to keep things simple for now.
Note: this implementation only works when the HLFIR lowering is used. I
don't think it is worth supporting FIR-only lowering because the plan is
for that to be removed soon.
OpenMP array reductions 6/6
Previous PR: https://github.com/llvm/llvm-project/pull/84957
Commit: 6086937976889ac082fbda9d76e94edf4c466410
https://github.com/llvm/llvm-project/commit/6086937976889ac082fbda9d76e94edf4c466410
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Target/AArch64/BUILD.gn
Log Message:
-----------
[gn build] Port 36a3f8f6471b
Commit: fe2119a7b08b6e468b2a67768904ea85b1bf0a45
https://github.com/llvm/llvm-project/commit/fe2119a7b08b6e468b2a67768904ea85b1bf0a45
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldBitcastShuffle - include the cost of bitcasts in the comparison
This makes no real difference currently as we only fold unary shuffles, but I'm hoping to handle binary shuffles in a future patch.
Commit: d84252e064b3f35aa879c10e207f77e931f351d9
https://github.com/llvm/llvm-project/commit/d84252e064b3f35aa879c10e207f77e931f351d9
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/docs/OpenMP-descriptor-management.md
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/omp-reduction-embox-codegen.fir
M flang/test/Lower/OpenMP/FIR/array-bounds.f90
M flang/test/Lower/OpenMP/FIR/map-component-ref.f90
M flang/test/Lower/OpenMP/FIR/ordered-threads.f90
M flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/target.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/declare-target-link-tarop-cap.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/ordered-threads.f90
M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-add.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-rename.f90
M flang/test/Lower/OpenMP/parallel-reduction.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Transforms/omp-descriptor-map-info-gen.fir
M flang/test/Transforms/omp-reduction-cfg-conversion.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Conversion/SCFToOpenMP/reductions.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/omptarget-array-sectioning-host.mlir
M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-device.mlir
M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-host.mlir
M mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
M mlir/test/Target/LLVMIR/omptarget-constant-indexing-device-region.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir
M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-nowait-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-region-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-region-parallel-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-call.mlir
M mlir/test/Target/LLVMIR/openmp-reduction.mlir
Log Message:
-----------
[MLIR][OpenMP] NFC: Uniformize OpenMP ops names (#85393)
This patch proposes the renaming of certain OpenMP dialect operations with the
goal of improving readability and following a uniform naming convention for
MLIR operations and associated classes. In particular, the following operations
are renamed:
- `omp.map_info` -> `omp.map.info`
- `omp.target_update_data` -> `omp.target_update`
- `omp.ordered_region` -> `omp.ordered.region`
- `omp.cancellationpoint` -> `omp.cancellation_point`
- `omp.bounds` -> `omp.map.bounds`
- `omp.reduction.declare` -> `omp.declare_reduction`
Also, the following MLIR operation classes have been renamed:
- `omp::TaskLoopOp` -> `omp::TaskloopOp`
- `omp::TaskGroupOp` -> `omp::TaskgroupOp`
- `omp::DataBoundsOp` -> `omp::MapBoundsOp`
- `omp::DataOp` -> `omp::TargetDataOp`
- `omp::EnterDataOp` -> `omp::TargetEnterDataOp`
- `omp::ExitDataOp` -> `omp::TargetExitDataOp`
- `omp::UpdateDataOp` -> `omp::TargetUpdateOp`
- `omp::ReductionDeclareOp` -> `omp::DeclareReductionOp`
- `omp::WsLoopOp` -> `omp::WsloopOp`
Commit: 7ccb31a5bcd60d6e691a57bf02ebd1e1ebfbe675
https://github.com/llvm/llvm-project/commit/7ccb31a5bcd60d6e691a57bf02ebd1e1ebfbe675
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] splitVectorOp - share the same SDLoc argument instead of recreating it over and over again.
Commit: f24d68a1078c4330a764a837eff58e9934637c1a
https://github.com/llvm/llvm-project/commit/f24d68a1078c4330a764a837eff58e9934637c1a
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Remove FLAT_Real_AllAddr_gfx11 in favor of GLOBAL_Real_AllAddr_gfx11
Plus some related cleanups. NFC.
Commit: e66cfebb04ff4fcf313905f49dbd863e7113432c
https://github.com/llvm/llvm-project/commit/e66cfebb04ff4fcf313905f49dbd863e7113432c
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/Argument.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
M llvm/test/Transforms/InstSimplify/icmp-constant.ll
M llvm/test/Transforms/InstSimplify/shift-knownbits.ll
Log Message:
-----------
[ValueTracking] Handle range attributes (#85143)
Handle the range attribute in ValueTracking.
Commit: 4b369ff076d9205ddbcfcdef89276a737a83ce0e
https://github.com/llvm/llvm-project/commit/4b369ff076d9205ddbcfcdef89276a737a83ce0e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
Log Message:
-----------
[analyzer][NFC] Fix unused variable warning
Commit: e52a68787122f8f17f2923818b98f3cea4e881a1
https://github.com/llvm/llvm-project/commit/e52a68787122f8f17f2923818b98f3cea4e881a1
Author: Pravin Jagtap <prjagtap at amd.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
Log Message:
-----------
[AMDGPU][NFC] Test clean up (#85922)
Authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>
Commit: 3a90cb4c1819c5ad90ba1cba266c5e94cc4ce230
https://github.com/llvm/llvm-project/commit/3a90cb4c1819c5ad90ba1cba266c5e94cc4ce230
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
Log Message:
-----------
Revert "[SLP]Do extra analysis int minbitwidth if some checks return false."
This reverts commit da118c93b40f74f6770cf8550903721555d3c97b to fix
crashes reported in https://github.com/llvm/llvm-project/pull/84363.
Commit: 81ec95ff983afd7f31c2713891bbc37bd630a100
https://github.com/llvm/llvm-project/commit/81ec95ff983afd7f31c2713891bbc37bd630a100
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Silence -Wswitch warnings
TypeSystemClang.cpp:4074:11: error: enumeration value 'CountAttributed' not handled in switch [-Werror,-Wswitch]
4074 | switch (qual_type->getTypeClass()) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
TypeSystemClang.cpp:4755:11: error: enumeration value 'CountAttributed' not handled in switch [-Werror,-Wswitch]
4755 | switch (qual_type->getTypeClass()) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
TypeSystemClang.cpp:5088:11: error: enumeration value 'CountAttributed' not handled in switch [-Werror,-Wswitch]
5088 | switch (qual_type->getTypeClass()) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
Commit: 357f00dddbe069f75e126188e35cb20edef32a5f
https://github.com/llvm/llvm-project/commit/357f00dddbe069f75e126188e35cb20edef32a5f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-phases.hip
Log Message:
-----------
[HIP] Correctly omit bundling with the new driver (#85842)
Summary:
The HIP phases do not emit the offload bundler output when we do not
invoke the final linker phase in device only mode. Check this propery.
Commit: da2c98b5582436d2f58c98403671cc1fd5bf5186
https://github.com/llvm/llvm-project/commit/da2c98b5582436d2f58c98403671cc1fd5bf5186
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Dialect/Utils/CMakeLists.txt
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
Log Message:
-----------
[MLIR] Remove UtilsDialect dep on ArithUtils (#85919)
This will reduce the amount of libraries pulled through the de facto
dependency of TilingInterface on UtilsDialect for its IteratorType.
Commit: 679e594d9d400ab688f6cc47b3ca26fe69265cae
https://github.com/llvm/llvm-project/commit/679e594d9d400ab688f6cc47b3ca26fe69265cae
Author: Yuta Saito <kateinoigakukun at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Features.def
M clang/test/Sema/swift-call-conv.c
Log Message:
-----------
[clang] Add `__has_extension(swiftcc)` support (#85347)
Commit: 1de7e6c8cba27296f3fc16d107822ea0ee856759
https://github.com/llvm/llvm-project/commit/1de7e6c8cba27296f3fc16d107822ea0ee856759
Author: Abhin P Jose <abhinjose at live.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/test/Sema/warn-cast-function-type-strict.c
M clang/test/Sema/warn-cast-function-type.c
M clang/test/SemaCXX/warn-cast-function-type-strict.cpp
M clang/test/SemaCXX/warn-cast-function-type.cpp
Log Message:
-----------
[clang] move -Wcast-function-type under -Wextra (#77178)
The -Wcast-fuction-type-strict has been moved under dignstic group
-Wextra.
Edited the test cases for -Wcast-fuction-type-strict and
-Wcast-fuction-type in Sema an SemaCXX.
Added a new test case which include a functionality that was already in
the -Wextra group, i.e -Wignored-qualifiers with
-Wcast-fuction-type-strict.
Fixes: #76872
Commit: 254bfe955ac3deba08dbbe490ef3cf5004a3bd6e
https://github.com/llvm/llvm-project/commit/254bfe955ac3deba08dbbe490ef3cf5004a3bd6e
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/include/llvm/Object/ArchiveWriter.h
M llvm/lib/Object/ArchiveWriter.cpp
A llvm/test/tools/llvm-ar/ecsymbols.ll
A llvm/test/tools/llvm-ar/ecsymbols.yaml
A llvm/test/tools/llvm-lib/empty.test
Log Message:
-----------
[llvm-ar][Object][COFF] Add support for EC symbols to llvm-ar. (#85230)
Make writeArchive IsEC argument optional and use EC symbol map when indicated by input object files.
Commit: fb5fd2d82f9befba9cf5152d1a0c5e6f91ee48f0
https://github.com/llvm/llvm-project/commit/fb5fd2d82f9befba9cf5152d1a0c5e6f91ee48f0
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
R flang/module/omp_lib.f90
R flang/module/omp_lib.h
M flang/test/Driver/include-omp-header.f90
M flang/test/Lower/OpenMP/FIR/atomic-capture.f90
M flang/test/Lower/OpenMP/FIR/atomic-read.f90
M flang/test/Lower/OpenMP/FIR/atomic-update.f90
M flang/test/Lower/OpenMP/FIR/atomic-write.f90
M flang/test/Lower/OpenMP/FIR/critical.f90
M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
M flang/test/Lower/OpenMP/FIR/parallel.f90
M flang/test/Lower/OpenMP/FIR/sections.f90
M flang/test/Lower/OpenMP/FIR/single.f90
M flang/test/Lower/OpenMP/FIR/task.f90
M flang/test/Lower/OpenMP/FIR/taskgroup.f90
M flang/test/Lower/OpenMP/FIR/teams.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
M flang/test/Lower/OpenMP/parallel-sections.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup.f90
M flang/test/Lower/OpenMP/teams.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
M flang/test/Parser/OpenMP/allocate-tree.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/f18/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
M openmp/runtime/src/CMakeLists.txt
A openmp/runtime/src/include/omp_lib.F90.var
R openmp/runtime/src/include/omp_lib.f90.var
M openmp/runtime/src/include/omp_lib.h.var
Log Message:
-----------
[flang][OpenMP] Compile proper `omp_lib.mod` from the `openmp/src/include` sources (#80874)
This PR changes the build system to use use the sources for the module
`omp_lib` and the `omp_lib.h` include file from the `openmp` runtime
project and not from a separate copy of these files. This will greatly
reduce potential for inconsistencies when adding features to the OpenMP
runtime implementation.
When the OpenMP subproject is not configured, this PR also disables the
corresponding LIT tests with a "REQUIRES" directive at the beginning of
the OpenMP test files.
---------
Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Commit: 81d9ed605b126d163f2f1cc226c639f1dfdc5224
https://github.com/llvm/llvm-project/commit/81d9ed605b126d163f2f1cc226c639f1dfdc5224
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-but-not-operands.ll
Log Message:
-----------
[SLP]Do extra analysis int minbitwidth if some checks return false.
The instruction itself can be considered good for minbitwidth casting,
even if one of the operand checks returns false.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/84363
Commit: 6c1d4454ad00414cf20f9a69e04856de99f6bf1d
https://github.com/llvm/llvm-project/commit/6c1d4454ad00414cf20f9a69e04856de99f6bf1d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis for shifts.
Adds improved bitwidth analysis for shl/ashr/lshr instructions. The
analysis is based on similar version in InstCombiner.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/84356
Commit: bdc77d1ecc9219dfc641aaaa4fb088233e9a32d1
https://github.com/llvm/llvm-project/commit/bdc77d1ecc9219dfc641aaaa4fb088233e9a32d1
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
Log Message:
-----------
[RemoveDIs][NFC] Rename DPLabel->DbgLabelRecord (#85918)
This patch renames DPLabel to DbgLabelRecord, in accordance with the
ongoing DbgRecord rename. This rename was fairly trivial, since DPLabel
isn't as widely used as DPValue and has no real conflicts in either its
full or abbreviated name. As usual, the entire replacement was done
automatically, with `s/DPLabel/DbgLabelRecord/` and `s/DPL/DLR/`.
Commit: 2ac85d8d200a9e1e0ced501c2d2f04404c400bd9
https://github.com/llvm/llvm-project/commit/2ac85d8d200a9e1e0ced501c2d2f04404c400bd9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
Log Message:
-----------
[VectorCombine] foldBitcastShuf - add support for binary shuffles
Generalise fold to "bitcast (shuf V0, V1, MaskC) --> shuf (bitcast V0), (bitcast V1), MaskC'".
Further prep work for #67803
Commit: 3eb806373e3164b242db65f8c900e4adb5a2eddf
https://github.com/llvm/llvm-project/commit/3eb806373e3164b242db65f8c900e4adb5a2eddf
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp
Log Message:
-----------
[CodeGen] Fix test on 32-bit targets (NFC)
The range here will be different for 32-bit targets. Use a wildcard,
just like all te other target-sensitive parts in this test.
Commit: 98c6bc531d091215896087b94e4e047c67f892c2
https://github.com/llvm/llvm-project/commit/98c6bc531d091215896087b94e4e047c67f892c2
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/include/mlir/Transforms/Mem2Reg.h
M mlir/include/mlir/Transforms/SROA.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/lib/Transforms/SROA.cpp
Log Message:
-----------
[MLIR][SROA][Mem2Reg] Add data layout to interface methods (#85644)
This commit expends the Mem2Reg and SROA interface methods with passed
in handles to a `DataLayout` structure. This is done to avoid
superfluous retreiving of data layouts during each conversion of
intrinsics.
This change, additionally, enables subsequent changes to make the LLVM
dialect implementation of these interfaces type agnostic.
Commit: ada24ae5e6e3da1002fe4debe9d37a8279d11c11
https://github.com/llvm/llvm-project/commit/ada24ae5e6e3da1002fe4debe9d37a8279d11c11
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
Log Message:
-----------
Revert 2ac85d8d200a9e1e0ced501c2d2f04404c400bd9 "[VectorCombine] foldBitcastShuf - add support for binary shuffles"
Breaks some tests in other subprojects - will recommit with a fix later
Commit: 9d1cb18d19862fc0627e4a56e1e491a498e84c71
https://github.com/llvm/llvm-project/commit/9d1cb18d19862fc0627e4a56e1e491a498e84c71
Author: Hans <hans at hanshq.net>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
A clang/test/CodeGenCoroutines/coro-symmetric-transfer-04.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll
Log Message:
-----------
[Coroutines] Ignore instructions more aggressively in addMustTailToCoroResumes() (#85271)
The old code used isInstructionTriviallyDead() and removed instructions
when walking the path from a resume call to function return to check if
the call is in tail position.
However, since the code was walking forwards it was not able to get past
instructions such as:
%gep = getelementptr inbounds i64, ptr %alloc.var, i32 0
%foo = ptrtoint ptr %gep to i64
This patch instead ignores such instructions as long as their values are
not needed. This enables the code to emit tail calls in more situations.
Commit: abed4b74764de7df2a40272699e304f43e118994
https://github.com/llvm/llvm-project/commit/abed4b74764de7df2a40272699e304f43e118994
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Simplify definition of GLOBAL_LOAD_TR Real instructions
Commit: 3fbac79064e405a54388d11370ab5a8f0f23914d
https://github.com/llvm/llvm-project/commit/3fbac79064e405a54388d11370ab5a8f0f23914d
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/test/CodeGen/aarch64-soft-float-abi-errors.c
Log Message:
-----------
[AArch64] Don't write to source directory in test
Commit: 12329648e2c3f8651228f17d3619b1e1ddab80f0
https://github.com/llvm/llvm-project/commit/12329648e2c3f8651228f17d3619b1e1ddab80f0
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M lldb/source/Interpreter/OptionGroupVariable.cpp
M lldb/test/API/functionalities/target_var/TestTargetVar.py
Log Message:
-----------
[lldb] Omit --show-globals in `help target var` (#85855)
This option doesn't exist. It is currently displayed by `help target
var` due to a bug introduced by 41ae8e7445 in 2018.
Some code for `target var` and `frame var` is shared, and some hard-code
constants are used in order to filter out options that belong only to
`frame var`. However, the aforementioned commit failed to update these
constants properly. This patch addresses the issue by having a _single_
place where the filtering of options needs to be done.
Commit: 5f5a64134b679d0b97d8fbd4ea65da361bb22cae
https://github.com/llvm/llvm-project/commit/5f5a64134b679d0b97d8fbd4ea65da361bb22cae
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/combine-sse41-intrinsics.ll
M llvm/test/CodeGen/X86/int-to-fp-demanded.ll
Log Message:
-----------
Revert "[DAGCombiner] Simplifying `{si|ui}tofp` when only signbit is needed"
This reverts commit 353fbeb0a294d2c7cef6d88607fa0fd50ee81462. It crashes
when it encounters an UINT_TO_FP.
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1618 in SDValue llvm::SelectionDAG::getConstant(const ConstantInt &, const SDLoc &, EVT, bool, bool): VT.isInteger() && "Cannot create FP integer constant!"
Commit: 2137894a6f5475e51c541b6d16e8902125a8f002
https://github.com/llvm/llvm-project/commit/2137894a6f5475e51c541b6d16e8902125a8f002
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/fpbits_str.h
A libc/src/__support/sign.h
M libc/src/__support/str_to_float.h
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log_range_reduction.h
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/powf.cpp
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/FPUtil/CMakeLists.txt
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/atanhf_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel
Log Message:
-----------
[libc][NFC] Move `Sign` type to separate header (#85930)
Commit: f872043e055f4163c3c4b1b86ca0354490174987
https://github.com/llvm/llvm-project/commit/f872043e055f4163c3c4b1b86ca0354490174987
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
Log Message:
-----------
Revert "[VPlan] Replace disjoint or with add instead of dropping disjoint. (#83821)"
This reverts commit c2c1e6ee4ce0df3d000ba880fa6cf58441da6462. It creates
a use after free.
==8342==ERROR: AddressSanitizer: heap-use-after-free on address 0x50f000001760 at pc 0x55b9fb84a8fb bp 0x7ffc18468a10 sp 0x7ffc18468a08
READ of size 1 at 0x50f000001760 thread T0
#0 0x55b9fb84a8fa in dropPoisonGeneratingFlags llvm/lib/Transforms/Vectorize/VPlan.h:1040:13
#1 0x55b9fb84a8fa in llvm::VPlanTransforms::dropPoisonGeneratingRecipes(llvm::VPlan&, llvm::function_ref<bool (llvm::BasicBlock*)>)::$_0::operator()(llvm::VPRecipeBase*) const llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp:1236:23
#2 0x55b9fb84a196 in llvm::VPlanTransforms::dropPoisonGeneratingRecipes(llvm::VPlan&, llvm::function_ref<bool (llvm::BasicBlock*)>) llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Can be reproduced with asan on
Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
Transforms/LoopVectorize/X86/pr81872.ll
Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
Commit: 9f168591f36952d8cca543a5ba67906dc07096ff
https://github.com/llvm/llvm-project/commit/9f168591f36952d8cca543a5ba67906dc07096ff
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/test/InstallAPI/diagnostics-cpp.test
Log Message:
-----------
[InstallAPI] Simplify & improve symbol printing for diagnostics (#85894)
* Defer mangling of symbols until an error is ready to report
* Pass around fewer parameters when reporting
Commit: 05bde30585710a51592eee0a6cf6df8184d09c92
https://github.com/llvm/llvm-project/commit/05bde30585710a51592eee0a6cf6df8184d09c92
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-wrong-stack-id.mir
M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
M llvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
M llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
M llvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
M llvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
M llvm/test/CodeGen/SystemZ/int-cmp-56.mir
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
M llvm/test/CodeGen/X86/callbr-asm-kill.mir
M llvm/test/CodeGen/X86/regalloc-copy-hints.mir
M llvm/test/CodeGen/X86/statepoint-fastregalloc.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-hoist-copies.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
M llvm/test/CodeGen/X86/statepoint-vreg-folding.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir
M llvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
A llvm/test/MachineVerifier/test_adjustsstack.mir
Log Message:
-----------
Move assertion for AdjustsStack from PEI to MachineVerifier. (#85698)
Have the verifier report a missing AdjustsStack flag rather than waiting until
PEI asserts.
Commit: 5fb2797f23343999cace3afe24480e8711df4566
https://github.com/llvm/llvm-project/commit/5fb2797f23343999cace3afe24480e8711df4566
Author: Neumann Hon <neumann.hon at ibm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/test/CodeGen/SystemZ/systemz-ppa2.c
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/test/CodeGen/SystemZ/call-zos-01.ll
M llvm/test/CodeGen/SystemZ/call-zos-i128.ll
M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
M llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
M llvm/test/CodeGen/SystemZ/zos-landingpad.ll
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
M llvm/test/MC/GOFF/ppa1.ll
M llvm/unittests/IR/ManglerTest.cpp
Log Message:
-----------
[GOFF][z/OS] Change PrivateGlobalPrefix and PrivateLabelPrefix to be L# (#85730)
The current values for PrivateGlobalPrefix and PrivateLabelPrefix (@@
and @ respectively) are, in hindsight, poor choices for multiple
reasons:
First, there exist externally visible routines from the language
environment that begin with @@. These functions are certainly not
local/private by any means and they should not share a prefix with
private globals.
Secondly, both private globals and private labels should be handled the
same way by GOFF, so it doesn't make much sense for them to have
separate prefixes. GOFF remains the only file format where these are
different and there is no reason for that to be the case
Commit: 972f65a83f933b0f90cf975ef89452f4210e9b06
https://github.com/llvm/llvm-project/commit/972f65a83f933b0f90cf975ef89452f4210e9b06
Author: martinboehme <mboehme at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/include/clang/AST/Expr.h
Log Message:
-----------
[clang][NFC] Add documentation for `CastExpr::path()`. (#85623)
This didn't have any documentation, so I had to do some experimenting in
godbolt when I used this in
https://github.com/llvm/llvm-project/pull/84138, and my reviewer later
also had some
[questions](https://github.com/llvm/llvm-project/pull/84138#discussion_r1524855434)
about this, so I figured it would be worth adding documentation.
Commit: 647d75d3a883c008c19a79bce265388b3c95e742
https://github.com/llvm/llvm-project/commit/647d75d3a883c008c19a79bce265388b3c95e742
Author: Tina Jung <tinamaria.jung at amd.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/invalid_types.mlir
Log Message:
-----------
[mlir][emitc] Restrict integer and float types (#85788)
Restrict which integers and floating-point types are valid in EmitC.
This should cover the types which are supported in C++ and is aligned
with what the emitter currently supports.
The checks are implemented as functions and not fully in tablegen to
allow them to be re-used by conversions to EmitC.
Commit: a9fe23cde3ee554f4bd6118edcc2e747f3a8d8d5
https://github.com/llvm/llvm-project/commit/a9fe23cde3ee554f4bd6118edcc2e747f3a8d8d5
Author: chrulski-intel <christopher.m.chrulski at intel.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/LTO.cpp
M lld/COFF/Options.td
A lld/test/COFF/Inputs/lto-sample-profile.prof
A lld/test/COFF/lto-sample-profile.ll
Log Message:
-----------
[LLD] [COFF] Port -lto-sample-profile to COFF version of LLD (#85701)
Following the commit of #83972 which added COFF support for SPGO, this
patch ports the support of the option -lto-sample-profile that was only
available in the ELF variant of LLD to the COFF variant to enable
running the SPGO passes in the LTO/thinLTO pipelines.
Commit: caf8b1f654122342dc846ae4d9a86d5c6f93f945
https://github.com/llvm/llvm-project/commit/caf8b1f654122342dc846ae4d9a86d5c6f93f945
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/lib/Interfaces/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRDialectUtils dep to TilingInterface (#84544)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRTilingInterface.a only:
```
In file included from mlir/include/mlir/Interfaces/TilingInterface.h:17,
from mlir/lib/Interfaces/TilingInterface.cpp:13:
mlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h:27:10: fatal error: mlir/Dialect/Utils/DialectUtilsEnums.h.inc: No such file or directory
```
Commit: 7812fcf3d79ef7fe9ec6bcdfc8fd9143864956cb
https://github.com/llvm/llvm-project/commit/7812fcf3d79ef7fe9ec6bcdfc8fd9143864956cb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
Log Message:
-----------
[VectorCombine] foldBitcastShuf - add support for binary shuffles (REAPPLIED)
Generalise fold to "bitcast (shuf V0, V1, MaskC) --> shuf (bitcast V0), (bitcast V1), MaskC'".
Reapplied with a clang codegen test fix.
Further prep work for #67803
Commit: 55c82f149c5065947f3de3fcde137e8172eee223
https://github.com/llvm/llvm-project/commit/55c82f149c5065947f3de3fcde137e8172eee223
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
Log Message:
-----------
[SLP][NFC]Add a test with arguments of functions, reduced by minbitwidth
analysis.
Commit: 4095a326c026a2b6dcb839a8c1c75906c6ba5b0a
https://github.com/llvm/llvm-project/commit/4095a326c026a2b6dcb839a8c1c75906c6ba5b0a
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/CAPI/llvm.c
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Add extraData field to the DIDerivedType attribute (#85935)
This commit extends the DIDerivedTypeAttr with the `extraData` field.
For now, the type of it is limited to be a `DINodeAttr`, as extending
the debug metadata handling to support arbitrary metadata nodes does not
seem to be necessary so far.
Commit: aa8cffb9583afb583b7a329a56cbd1c7b743f6a3
https://github.com/llvm/llvm-project/commit/aa8cffb9583afb583b7a329a56cbd1c7b743f6a3
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
Log Message:
-----------
[scudo] Fix type mismatch on DefaultMaxEntrySize (#85897)
Commit: 48a1a9b26048d2a88eaf5b09de0525ab557615de
https://github.com/llvm/llvm-project/commit/48a1a9b26048d2a88eaf5b09de0525ab557615de
Author: Chris B <chris.bieneman at me.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/docs/HLSL/HLSLSupport.rst
Log Message:
-----------
[HLSL][docs] Document hlsl.h in the HLSL docs (#84081)
This adds a brief blurb about hlsl.h in the HLSLSupport documentation
where a high level view of the architecture is explained.
Commit: 927308a52bc51ae786db1bd645ad5ef5889fdb2a
https://github.com/llvm/llvm-project/commit/927308a52bc51ae786db1bd645ad5ef5889fdb2a
Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libc/utils/gpu/loader/amdgpu/Loader.cpp
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
Log Message:
-----------
[libomptarget][nextgen-plugin] Use SCRELEASE/SCACQUIRE in packet headers (#85678)
This patch updates the construction of packet headers to replace the
usage of ACQUIRE/RELEASE with SCACQUIRE/SCRELEASE which is now
recommended.
The patch also ensures consistency across kernel dispatches.
Commit: 04f7cd7f4545f3368ccda625cadbe3265c3566c9
https://github.com/llvm/llvm-project/commit/04f7cd7f4545f3368ccda625cadbe3265c3566c9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Make findBestRootPair() member function constant.
Commit: c25e77436ea44b4c980f4974dee8984298d13a08
https://github.com/llvm/llvm-project/commit/c25e77436ea44b4c980f4974dee8984298d13a08
Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libc/utils/gpu/loader/amdgpu/Loader.cpp
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
Log Message:
-----------
Revert "[libomptarget][nextgen-plugin] Use SCRELEASE/SCACQUIRE in packet headers" (#85950)
Reverts llvm/llvm-project#85678
Commit: 767e0c8bcef9cfcc57e76e66e23489ba60042762
https://github.com/llvm/llvm-project/commit/767e0c8bcef9cfcc57e76e66e23489ba60042762
Author: Thomas Lively <tlively at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
A llvm/test/CodeGen/WebAssembly/pr63817.ll
Log Message:
-----------
[WebAssembly] Select BUILD_VECTOR with large unsigned lane values (#85880)
Previously we expected lane constants to be in the range of signed
values for each lane size, but the included test case produced large
unsigned values that fall outside that range. Allow instruction
selection to proceed in this case rather than failing.
Fixes #63817.
Commit: 576d81baa5cf1801bae0fd05892be34acde33c6a
https://github.com/llvm/llvm-project/commit/576d81baa5cf1801bae0fd05892be34acde33c6a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/test/CodeGen/RISCV/double-arith-strict.ll
M llvm/test/CodeGen/RISCV/double-arith.ll
M llvm/test/CodeGen/RISCV/double-bitmanip-dagcombines.ll
M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
M llvm/test/CodeGen/RISCV/double-calling-conv.ll
M llvm/test/CodeGen/RISCV/double-convert-strict.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/double-fcmp.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/double-isnan.ll
M llvm/test/CodeGen/RISCV/double-maximum-minimum.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/double-previous-failure.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/double-round-conv.ll
M llvm/test/CodeGen/RISCV/double-select-fcmp.ll
M llvm/test/CodeGen/RISCV/double-select-icmp.ll
M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/pr64645.ll
M llvm/test/CodeGen/RISCV/zdinx-asm-constraint.ll
M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll
Log Message:
-----------
[RISCV] Use REG_SEQUENCE/EXTRACT_SUBREG to move between individual GPRs and GPRPair. (#85887)
Previously we used memory like we do to move between GPRs and FPR64 with
the D extension on RV32.
We can instead use REG_SEQUENCE/EXTRACT_SUBREG to inform register
allocation how to do the copy without memory.
Commit: 3deaa77f1a25f0cdfcf23c34fac0b51293f32f9c
https://github.com/llvm/llvm-project/commit/3deaa77f1a25f0cdfcf23c34fac0b51293f32f9c
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-rename.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
Log Message:
-----------
[flang][OpenMP] simplify getReductionName (#85666)
Re-use fir::getTypeAsString instead of creating something new here. This
spells integer names like i32 instead of i_32 so there is a lot of test
churn.
Commit: 9ebd329ad87ca4cde3ce62e1bf5612c4fc0fcb7f
https://github.com/llvm/llvm-project/commit/9ebd329ad87ca4cde3ce62e1bf5612c4fc0fcb7f
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-wrong-stack-id.mir
M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
M llvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
M llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
M llvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
M llvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
M llvm/test/CodeGen/SystemZ/int-cmp-56.mir
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
M llvm/test/CodeGen/X86/callbr-asm-kill.mir
M llvm/test/CodeGen/X86/regalloc-copy-hints.mir
M llvm/test/CodeGen/X86/statepoint-fastregalloc.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-hoist-copies.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
M llvm/test/CodeGen/X86/statepoint-vreg-folding.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir
M llvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
R llvm/test/MachineVerifier/test_adjustsstack.mir
Log Message:
-----------
Revert "Move assertion for AdjustsStack from PEI to MachineVerifier. (#85698)"
This reverts commit 05bde30585710a51592eee0a6cf6df8184d09c92.
Reverting due to verifier complaints with expensive checks on build-bot.
Commit: d209d1340b99d4fbd325dffb5e13b757ab8264ea
https://github.com/llvm/llvm-project/commit/d209d1340b99d4fbd325dffb5e13b757ab8264ea
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libcxx/modules/CMakeLists.txt
Log Message:
-----------
[libcxx] [cmake] Fix cmake_path(ABSOLUTE_PATH) for empty CMAKE_INSTALL_PREFIX
This should hopefully fix the issue brought up at
https://github.com/llvm/llvm-project/pull/85756#issuecomment-2009852291.
Commit: eb861acd49e4c6777e2fe09dd2004ac1f4731bba
https://github.com/llvm/llvm-project/commit/eb861acd49e4c6777e2fe09dd2004ac1f4731bba
Author: Steven Varoumas <steven.varoumas at huawei.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/IndexOps.td
A mlir/python/mlir/dialects/index.py
A mlir/test/python/dialects/index_dialect.py
Log Message:
-----------
[mlir][python] Enable python bindings for Index dialect (#85827)
This small patch enables python bindings for the index dialect.
---------
Co-authored-by: Steven Varoumas <steven.varoumas1 at huawei.com>
Commit: 75dfa58ea93aa93b97534906778cb3dd24ba841a
https://github.com/llvm/llvm-project/commit/75dfa58ea93aa93b97534906778cb3dd24ba841a
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[RemoveDIs][NFC] Rename DPMarker->DbgMarker (#85931)
Another trivial rename patch, the last big one for now, which renamed
DPMarkers to DbgMarkers. This required the field `DbgMarker` in
`Instruction` to be renamed to `DebugMarker` to avoid a clash, but
otherwise was a simple string substitution of `s/DPMarker/DbgMarker` and
a manual renaming of `DPM` to `DM` in the few places where that acronym
was used for debug markers.
Commit: 407937036fa7640f61f225474b1ea6623a40dbdd
https://github.com/llvm/llvm-project/commit/407937036fa7640f61f225474b1ea6623a40dbdd
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libcxx/modules/CMakeLists.txt
Log Message:
-----------
Revert "[libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#85756)"
This reverts commit 272d1b44efdedb68c194970a610f0ca1b7b769c5,
and the follow-up fix in d209d1340b99d4fbd325dffb5e13b757ab8264ea.
Even after the follow-up fix, building with an empty
CMAKE_INSTALL_PREFIX errors out with errors like this:
CMake Error at /b/s/w/ir/x/w/llvm-llvm-project/libcxx/modules/CMakeLists.txt:215 (file):
file RELATIVE_PATH must be passed a full path to the directory:
lib/x86_64-pc-windows-msvc
Commit: 12028cb1dab9ba1b4ac826c3d70ca19c3b379255
https://github.com/llvm/llvm-project/commit/12028cb1dab9ba1b4ac826c3d70ca19c3b379255
Author: Will Hawkins <hawkinsw at obs.cr>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
Log Message:
-----------
[DwarfGenerator] Calculate relative offset according to Dwarf Version (#84847)
The relative offset for a CU in Dwarf v5 (and later) is different than
the relative offset for a CU in Dwarf v4 (and before).
Signed-off-by: Will Hawkins <hawkinsw at obs.cr>
Commit: 1b5b4eebb6a012cf223954013d34c6e896720822
https://github.com/llvm/llvm-project/commit/1b5b4eebb6a012cf223954013d34c6e896720822
Author: Thurston Dang <thurston at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M compiler-rt/lib/memprof/memprof_allocator.h
Log Message:
-----------
[memprof] Move allocator base to avoid conflict with high-entropy ASLR (#85834)
memprof often fails when ASLR entropy is too high ('sudo sysctl
vm.mmap_rnd_bits=32; ninja check-memprof'), which is the default setting
for newer versions of Ubuntu
(https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy/commit/?h=hwe-6.5-next--2024.03.04-1--auto&id=6b522637c6a7dabd8530026ae933fb5ff17e877f).
This patch fixes the issue by moving the allocator base, analogously to
ASan (https://reviews.llvm.org/D148280).
Explanation from the ASan patch: when CONFIG_ARCH_MMAP_RND_BITS == 32,
it will frequently conflict with memprof's allocator, because the PIE
program segment base address of 0x555555555554 plus an ASLR shift of up
to ((2**32) * 4K == 0x100000000000) will sometimes exceed memprof's
hardcoded base address of 0x600000000000. We fix this by simply moving
the allocator base to 0x500000000000, which is below the PIE program
segment base address. This is cleaner than trying to move it to another
location that is sandwiched between the PIE program and library
segments, because if either of those grow too large, it will collide
with the allocator region.
Note that we will never need to change this base address again (unless
we want to increase the size of the allocator), because ASLR cannot be
set above 32-bits for x86-64 Linux (the PIE program segment and library
segments would collide with each other; see also ARCH_MMAP_RND_BITS_MAX
in https://github.com/torvalds/linux/blob/master/arch/x86/Kconfig).
Commit: a6a6066290679f23f2bd6b27afc7a06aab07590f
https://github.com/llvm/llvm-project/commit/a6a6066290679f23f2bd6b27afc7a06aab07590f
Author: Eric Li <li.zhe.hua at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Fix crash when analyzing a coroutine (#85957)
A coroutine function body (`CoroutineBodyStmt`) may have null children,
which causes `isa` to segfault.
Commit: 9cb5004209323d6fa8af8c41e456818c20585984
https://github.com/llvm/llvm-project/commit/9cb5004209323d6fa8af8c41e456818c20585984
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-version.cpp
Log Message:
-----------
Reland [FMV] Emit the resolver along with the default version definit… (#85923)
…ion.
This was reverted because the resolver didn't look as expected in one of
the tests. I believe it had some interaction with #84146. I have now
regenerated it using -target-feature -fp-armv8.
Commit: 0e47dfede468a292dd8cd893d6d0179052501383
https://github.com/llvm/llvm-project/commit/0e47dfede468a292dd8cd893d6d0179052501383
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Add isStaticRelSecType to simplify SHT_REL/SHT_RELA testing. NFC
and make it easier to introduce a new relocation format.
https://discourse.llvm.org/t/rfc-relleb-a-compact-relocation-format-for-elf/77600
Pull Request: https://github.com/llvm/llvm-project/pull/85893
Commit: 25d61be8a5e563988661709c5d01f67c06b388e2
https://github.com/llvm/llvm-project/commit/25d61be8a5e563988661709c5d01f67c06b388e2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
Log Message:
-----------
[X86] avx-shuffle-builtins.c - limit to x86 targets
Attempt to fix issue with non-x86 buildbots (sorry its blind but I can't test this)
Commit: decd88ef0538504707c5d1f0fd8b9de60a5b9b4c
https://github.com/llvm/llvm-project/commit/decd88ef0538504707c5d1f0fd8b9de60a5b9b4c
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
Log Message:
-----------
[RemoveDIs][NFC] Delete a now-redundant comment
Submitted without review for being a trivial comment-only change, deletes
a line that requests the DbgLabelRecord class be renamed to DbgLabelRecord
in the future.
Commit: b754e6f6900e8c4205567fb2a13ff3c90811f5bc
https://github.com/llvm/llvm-project/commit/b754e6f6900e8c4205567fb2a13ff3c90811f5bc
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libc/test/src/math/smoke/FMaxTest.h
Log Message:
-----------
Fix typo (#85869)
Commit: b20360abeb3a80281dc082f1e093abd13cb1ee4c
https://github.com/llvm/llvm-project/commit/b20360abeb3a80281dc082f1e093abd13cb1ee4c
Author: AdityaK <hiraditya at msn.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/test/Driver/riscv-features.c
Log Message:
-----------
clang driver: enable fast unaligned access for Android on RISCV64 (#85704)
Android CTS test already requires fast unaligned access
https://android-review.googlesource.com/c/platform/cts/+/2675633
Commit: 721e8f366f8665468f69dd8e29f97c6da1614a8f
https://github.com/llvm/llvm-project/commit/721e8f366f8665468f69dd8e29f97c6da1614a8f
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M lld/test/ELF/driver.test
Log Message:
-----------
[ELF] Improve unknown -z test
Commit: 49c3e78961f841717c0aeec0c04b6e5401ddd6ce
https://github.com/llvm/llvm-project/commit/49c3e78961f841717c0aeec0c04b6e5401ddd6ce
Author: Augie Fackler <augie at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] add missing dependency for 2137894a6f5475e51c541b6d16e8902125a8f002
Commit: 66a2ed50ccb6de64fdf82957ca0d4b55ef76f3cd
https://github.com/llvm/llvm-project/commit/66a2ed50ccb6de64fdf82957ca0d4b55ef76f3cd
Author: Alex Langford <alangford at apple.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M lldb/test/API/source-manager/TestSourceManager.py
Log Message:
-----------
[lldb] Remove process restart prompt from TestSourceManager (#85861)
In TestSourceManager, test_artificial_source_location will give the
process restart prompt if you run the test individually. The reason is
that we run the process twice: first using a convenience function to run
to a specific breakpoint and then again to check for a specific message
emitted when you hit the breakpoint. Instead of running twice and making
the test difficult to run individually, we can just check for the
specific messages using other commands.
Commit: d42992e71c660d57c89056f6ee4a5be74fa4d1f4
https://github.com/llvm/llvm-project/commit/d42992e71c660d57c89056f6ee4a5be74fa4d1f4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Cleanup setOperationAction for ISD::BITCAST with Zfa and D extension. NFC
We only need Custom handling for i64 on RV32. This will be used by
type legalization. We don't need to make it custom for f64 to get
type legalization to custom split i64.
If f64 and i64 are legal types, then ISD::BITCAST should be legal.
Commit: 10b0e355372fab1f4d585555536525545eef8523
https://github.com/llvm/llvm-project/commit/10b0e355372fab1f4d585555536525545eef8523
Author: Alex Langford <alangford at apple.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/AddressableBits.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Utility/AddressableBits.cpp
Log Message:
-----------
[lldb] Invert relationship between Process and AddressableBits (#85858)
AddressableBits is in the Utility module of LLDB. It currently directly
refers to Process, which is from the Target LLDB module. This is a
layering violation which concretely means that it is impossible to link
anything that uses Utility without it also using Target as well. This is
generally not an issue for LLDB (since everything is built together) but
it may make it difficult to write unit tests for AddressableBits later
on.
Commit: 5ea152033ee99ac7ccde791009c372a0983b4eaf
https://github.com/llvm/llvm-project/commit/5ea152033ee99ac7ccde791009c372a0983b4eaf
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/stdc.td
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/str_from_util.h
A libc/src/stdlib/strfromf.cpp
A libc/src/stdlib/strfromf.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/strfromf_test.cpp
Log Message:
-----------
[libc]: Implement strfromf() and shared utilities (#85438)
Fixes #84244.
Implements the function `strfromf()` introduced in C23, and adds shared
utilities for implementation of other `strfrom*()` functions, including
`strfromd()` and `strfroml()`.
Commit: 5e6bb1fb885abec2e8bc85422bbd83fe4ece6d3b
https://github.com/llvm/llvm-project/commit/5e6bb1fb885abec2e8bc85422bbd83fe4ece6d3b
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/include/llvm/Target/Target.td
Log Message:
-----------
[TableGen][Target] Add documentation to `Constraints`. (#85951)
This patch adds some basic documentation for `Constraints`, along with
some "see also" pointers for backend writers to learn more.
Commit: 4df099e447840bae24e88efca1ab4c03a5d7b21b
https://github.com/llvm/llvm-project/commit/4df099e447840bae24e88efca1ab4c03a5d7b21b
Author: Augie Fackler <augie at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] another BUILD fix for 2137894a6f5475e51c541b6d16e8902125a8f002
Commit: 62ed009ce218897d7707144de54fa1e2beec59dc
https://github.com/llvm/llvm-project/commit/62ed009ce218897d7707144de54fa1e2beec59dc
Author: Thurston Dang <thurston at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M compiler-rt/lib/dfsan/dfsan.cpp
M compiler-rt/lib/dfsan/dfsan_allocator.cpp
M compiler-rt/lib/dfsan/dfsan_platform.h
Log Message:
-----------
[dfsan] Re-exec with no ASLR if memory layout is incompatible on Linux (#85674)
DFSan's shadow mappings are incompatible with 32 bits of ASLR entropy
('sudo sysctl vm.mmap_rnd_bits=32; ninja check-dfsan') and it is
difficult to fix this via increasing the size of the shadow mappings,
due to the overhead of shadow memory. This patch works around the issue
by detecting if the memory layout is incompatible, and if so,
re-exec'ing without ASLR.
DFSan and MSan share copy-pasted shadow memory code, hence this
workaround is ported from MSan:
- "[msan] Re-exec with no ASLR if memory layout is incompatible on
Linux"
(https://github.com/llvm/llvm-project/commit/58f7251820b14c93168726a24816d8a094599be5)
- "[msan] Add 'MappingDesc::ALLOCATOR' type and check it is available"
(https://github.com/llvm/llvm-project/commit/af2bf86a372cacf5f536bae06e2f2d3886eefb7b)
(which in turn are inspired by TSan: "Re-exec TSan with no ASLR if
memory layout is incompatible on Linux"
(https://github.com/llvm/llvm-project/commit/0784b1eefa36d4acbb0dacd2d18796e26313b6c5
))
aeubanks had remarked in
https://github.com/llvm/llvm-project/pull/85142#issuecomment-2004442883
that this issue occurs in Chromium:
https://ci.chromium.org/ui/p/chromium/builders/try/linux_upload_clang/5066/overview
Commit: 5231005193afb8db01afe9a8a1aa308d25f60ba1
https://github.com/llvm/llvm-project/commit/5231005193afb8db01afe9a8a1aa308d25f60ba1
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/test/C/C2x/n2975.c
M clang/test/Lexer/gnu-flags.c
M clang/test/Preprocessor/empty_va_arg.cpp
M clang/test/Preprocessor/macro_fn.c
Log Message:
-----------
[Clang] Update missing varargs arg extension warnings (#84520)
This updates a few warnings that were diagnosing no arguments for a
`...` variadic macro parameter as a GNU extension when it actually is a
C++20/C23 extension now.
This fixes #84495.
Commit: cc9186060ad75c68a052bbcf43d7d1ee93143a60
https://github.com/llvm/llvm-project/commit/cc9186060ad75c68a052bbcf43d7d1ee93143a60
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[mlir][nvgpu][nvvm] Add myself as a primary reviewer for nvgpu and nvvm dialects (#85414)
Commit: 949d70d5e023b34b741b7d577c61a7ef60c3316f
https://github.com/llvm/llvm-project/commit/949d70d5e023b34b741b7d577c61a7ef60c3316f
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
A llvm/test/CodeGen/SPIRV/instructions/bitwise-i1.ll
Log Message:
-----------
[SPIR-V] Fix incorrect bitwise instructions applied to the bool type (#85929)
This PR ensures that LLVM IR bitwise instructions result in logical
SPIR-V instructions when applied to i1 type.
Commit: c2483ed52d6f600a91663a49e35bab1dff2ed977
https://github.com/llvm/llvm-project/commit/c2483ed52d6f600a91663a49e35bab1dff2ed977
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/empty-logical.ll
M llvm/test/CodeGen/SPIRV/empty-module.ll
M llvm/test/CodeGen/SPIRV/empty-opencl32.ll
M llvm/test/CodeGen/SPIRV/empty-opencl64.ll
M llvm/test/CodeGen/SPIRV/empty.ll
A llvm/test/CodeGen/SPIRV/fence.ll
Log Message:
-----------
[SPIRV] Add __spirv_ builtins for existing instructions (#85654)
This PR:
* adds __spirv_ builtins for existing instructions;
* fixes parsing of "syncscope" values in atomic instructions;
* fix a special case of binary header emision.
Commit: f676e84bba016157f5879fa66d86737ac8920c4b
https://github.com/llvm/llvm-project/commit/f676e84bba016157f5879fa66d86737ac8920c4b
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/test/TableGen/ConstraintChecking3.td
A llvm/test/TableGen/ConstraintChecking8.td
M llvm/utils/TableGen/CodeGenInstruction.cpp
Log Message:
-----------
[TableGen] Fix operand constraint checking problem. (#85859)
Currently operand constraint checks on "$dest = $src" are inadvertently
accepting any token that contains "=". This has surprising results, e.g,
"$dest != $src" is accepted as a constraint but then treated as "=".
This patch ensures that only exactly the token "=" is accepted.
Commit: 891172d9be01dd7c7e5298f2d8fdb143add448da
https://github.com/llvm/llvm-project/commit/891172d9be01dd7c7e5298f2d8fdb143add448da
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
A llvm/test/CodeGen/RISCV/attributes-module-flag.ll
A llvm/test/CodeGen/RISCV/module-elf-flags.ll
Log Message:
-----------
[RISCV] Use 'riscv-isa' module flag to set ELF flags and attributes. (#85155)
Walk all the ISA strings and set the subtarget bits for any extension we
find in any string.
This allows LTO output to have a ELF attributes from the union of all of
the files used to compile it.
Commit: 3f39571228fe2cf402e6ea5727cd5b32f9299356
https://github.com/llvm/llvm-project/commit/3f39571228fe2cf402e6ea5727cd5b32f9299356
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/isinf.ll
A llvm/test/CodeGen/DirectX/isinf_error.ll
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX][DXIL] Distinguish return type for overload type resolution. (#85646)
Return type of DXIL Ops may be different from valid overload type of the
parameters, if any. Such DXIL Ops are correctly represented in DXIL.td.
However, DXILEmitter assumes the return type to be the same as parameter
overload type, if one exists. This results in generation in incorrect
overload index value in DXILOperation.inc for the DXIL Op and incorrect
DXIL operation function call in DXILOpLowering pass.
This change distinguishes return types correctly from parameter overload
types in DXILEmitter backend to handle such DXIL ops.
Add specification for DXIL Op `isinf` and corresponding tests to verify
the above change.
Fixes issue #85125
Commit: 2e817bfb4890249d1f5c0e50827d1d742c4f3df4
https://github.com/llvm/llvm-project/commit/2e817bfb4890249d1f5c0e50827d1d742c4f3df4
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Add missing feature predicates to some of the RVV pseudos (#85983)
Some of the RVV pseudos are missing HasVInstructions. This is
effectively a NFC.
Commit: 7955bde64ef9aebbcaf6b6308a25fac31041ea9a
https://github.com/llvm/llvm-project/commit/7955bde64ef9aebbcaf6b6308a25fac31041ea9a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
A clang/test/C/C11/n1310.c
M clang/www/c_status.html
Log Message:
-----------
[C11] Add test coverage for N1310 and claim conformance
This is about the best I could do for testing that `signed char` does
not have any padding bits.
Commit: d9c4c312d81b4a2059d0ca2bb454c3452e52042e
https://github.com/llvm/llvm-project/commit/d9c4c312d81b4a2059d0ca2bb454c3452e52042e
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Parse/ParsePragma.cpp
A clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/complex-math.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/pragma-cx-limited-range.c
M clang/test/CodeGen/smiths-complex-div.c
M clang/test/Driver/range.c
Log Message:
-----------
[CLANG] Full support of complex multiplication and division. (#81514)
In clang there are two options `-f[no]cx-limited-range` and
`-f[no]cx-fortran-rules` that control the range of complex
multiplication and division. However, it is unclear how these options
interact with one another. For instance, what should happen when the
users compile with `-fcx-fortran-rules -fno-cx-limited-range` or
`-fcx-limited-range -fno-cx-fortran-rules`?
In this patch we are introducing a new option to solve the issue and
give a greater flexibility to the user to control the behavior of the
compiler when performing multiplication and division of complex
floating-point values.
`-fcomplex-arihmetic=[full|improved|promoted|basic]`
`full`: Implementation of complex division and multiplication using a
call to runtime library functions (generally the case, but the BE might
sometimes replace the library call if it knows enough about the
potential range of the inputs). Overflow and non-finite values are
handled by the library implementation. For the case of multiplication
overflow will occur in accordance with normal floating-point rules. This
is the default value.
`improved`: Implementation of complex division using the Smith algorithm
at source precision. Smith's algorithm for complex division. See SMITH,
R. L. Algorithm 116: Complex division. Commun. ACM 5, 8 (1962). This
value offers improved handling for overflow in intermediate
calculations, but overflow may occur. NaN and infinite values are not
handled in some cases.
`promoted`: Implementation of complex division using algebraic formulas
at higher precision. Overflow is handled. Non-finite values are handled
in some cases. If the target does not have native support for a higher
precision data type, the implementation for the complex operation using
the Smith algorithm will be used. Overflow may still occur in some
cases. NaN and infinite values are not handled.
`basic`: Implementation of complex division and multiplication using
algebraic formulas at source precision. No special handling to avoid
overflow. NaN and infinite values are not handled.
`fcx-limited-range` will alias `-fcomplex-arithmetic=basic`
`-fcx-fortran-rules` will alias `-fcomplex-arithmetic=improved`
`-fno-cx-limited-range` and `-fno-cx-fortran-rules` will alias
`-fcomplex-arithmetic=full`
The complex division and multiplication will be implemented as follows
depending on the option used.
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 15">
<meta name=Originator content="Microsoft Word 15">
<link rel=File-List
href="file:///C:/Users/zahiraam/AppData/Local/Temp/msohtmlclip1/01/clip_filelist.xml">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<link rel=themeData
href="file:///C:/Users/zahiraam/AppData/Local/Temp/msohtmlclip1/01/clip_themedata.thmx">
<link rel=colorSchemeMapping
href="file:///C:/Users/zahiraam/AppData/Local/Temp/msohtmlclip1/01/clip_colorschememapping.xml">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="376">
<w:LsdException Locked="false" Priority="0" QFormat="true"
Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading
1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true"
Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true"
Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true"
Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true"
Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder
Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No
Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true"
Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent
6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading
Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book
Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6
Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7
Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6
Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7
Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hashtag"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Unresolved Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Link"/>
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-pitch:variable;
mso-font-signature:-536869121 1107305727 33554432 0 415 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-469750017 -1040178053 9 0 511 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin-top:0in;
margin-right:0in;
margin-bottom:8.0pt;
margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;
mso-ligatures:standardcontextual;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
{mso-style-type:export-only;
margin-bottom:8.0pt;
line-height:107%;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.WordSection1
{page:WordSection1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;
mso-ligatures:standardcontextual;}
</style>
<![endif]-->
</head>
<body lang=EN-US style='tab-interval:.5in;word-wrap:break-word'>
<!--StartFragment-->
-fcomplex-arithmetic | div | mul
-- | -- | --
basic | algebraic form | algebraic form
improved | smith's algorithm | algebraic form
full | libcall | libcall + nan processing
promoted | algebraic form + higher precision | algebraic form
<!--EndFragment-->
</body>
</html>
Commit: 0177a9547e588222acaf6d006747b5f7014e6fd8
https://github.com/llvm/llvm-project/commit/0177a9547e588222acaf6d006747b5f7014e6fd8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
Log Message:
-----------
[flang][cuda] Fix fir.cuda_kernel_launch assembly with no args (#85987)
When the kernel launch has no arguments, the generated parser was
expecting at least a type to be present. Make the last part of the
assemble format optional.
Add a run line to round-trip the output through fir-opt so we make sure
the IR can be parsed and printed correctly.
Commit: 84115494d6475e1aea3cdd1163d3a88243b75f36
https://github.com/llvm/llvm-project/commit/84115494d6475e1aea3cdd1163d3a88243b75f36
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
Log Message:
-----------
[flang][Lower] Convert OMP Map and related functions to evaluate::Expr (#81626)
The related functions are `gatherDataOperandAddrAndBounds` and
`genBoundsOps`. The former is used in OpenACC as well, and it was
updated to pass evaluate::Expr instead of parser objects.
The difference in the test case comes from unfolded conversions of index
expressions, which are explicitly of type integer(kind=8).
Delete now unused `findRepeatableClause2` and `findClause2`.
Add `AsGenericExpr` that takes std::optional. It already returns
optional Expr. Making it accept an optional Expr as input would reduce
the number of necessary checks when handling frequent optional values in
evaluator.
[Clause representation 4/6]
Commit: 17af9addbbd0dc675c962bf034ea083b2b61a01a
https://github.com/llvm/llvm-project/commit/17af9addbbd0dc675c962bf034ea083b2b61a01a
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] Add SDPatternMatch m_ZExtOrSelf/m_SExtOrSelf/m_AExtOrSelf/m_TruncOrSelf matchers (#85480)
Fixes #85395
Commit: 1f1f569b29f42161ea978328aea60044f16eee49
https://github.com/llvm/llvm-project/commit/1f1f569b29f42161ea978328aea60044f16eee49
Author: Christudasan Devadasan <Christudasan.Devadasan at amd.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Log Message:
-----------
[PowerPC] Clang format (NFC).
Commit: c2fd0e4398a90be2f4640964f3c1f2a73a3a1487
https://github.com/llvm/llvm-project/commit/c2fd0e4398a90be2f4640964f3c1f2a73a3a1487
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
Log Message:
-----------
[AMDGPU] Copy SOP properties from pseudo to real. NFCI. (#85997)
This is to help llvm-obdump to analyze instructions in a future patch.
Commit: 294a6c3b650d2411e50487b287b24b7d85847162
https://github.com/llvm/llvm-project/commit/294a6c3b650d2411e50487b287b24b7d85847162
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGExprComplex.cpp
Log Message:
-----------
[clang] Fix a warning
This patch fixes:
clang/lib/CodeGen/CGExprComplex.cpp:1037:14: error: unused variable
'ComplexElementTy' [-Werror,-Wunused-variable]
Commit: f6f474c4ef9694a4ca8f08d59fd112c250fb9c73
https://github.com/llvm/llvm-project/commit/f6f474c4ef9694a4ca8f08d59fd112c250fb9c73
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M lld/test/ELF/riscv-tlsdesc.s
A llvm/test/CodeGen/RISCV/tlsdesc-symbol.ll
Log Message:
-----------
[llvm][lld] Pre-commit tests for RISCV TLSDESC symbols
Currently, we mistakenly mark the local labels used in RISC-V TLSDESC as
TLS symbols, when they should not be. This patch adds tests with the
current incorrect behavior, and subsequent patches will address the
issue.
Reviewers: MaskRay, topperc
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/85816
Commit: b7324b6a9c6bd43786ea853bf1a9730486b4bc88
https://github.com/llvm/llvm-project/commit/b7324b6a9c6bd43786ea853bf1a9730486b4bc88
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
Log Message:
-----------
[mlir][vector] Adds pattern rewrite for maskable Ops (#83827)
Adds a generic pattern rewrite for maskable Ops, `MaskableOpRewritePattern`,
that will work for both masked and un-masked cases, e.g. for both:
* `vector.mask {vector.contract}` (masked), and
* `vector.contract` (not masked).
This helps to reduce code-duplication and standardise how we implement such
patterns.
Fixes #78787
Commit: 5a9bdd85ee4d8527e2cedf44f3ce26ff414f9b6a
https://github.com/llvm/llvm-project/commit/5a9bdd85ee4d8527e2cedf44f3ce26ff414f9b6a
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/docs/Tutorials/transform/Ch2.md
M mlir/examples/transform/Ch2/include/MyExtension.h
M mlir/examples/transform/Ch2/include/MyExtension.td
M mlir/examples/transform/Ch2/lib/MyExtension.cpp
M mlir/examples/transform/Ch3/include/MyExtension.h
M mlir/examples/transform/Ch3/include/MyExtension.td
M mlir/examples/transform/Ch3/include/MyExtensionTypes.td
M mlir/examples/transform/Ch3/lib/MyExtension.cpp
M mlir/examples/transform/Ch4/include/MyExtension.h
M mlir/examples/transform/Ch4/include/MyExtension.td
M mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.h
M mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.td
M mlir/include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.h
M mlir/include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.td
M mlir/include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.h
M mlir/include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.td
M mlir/include/mlir/Dialect/Func/TransformOps/FuncTransformOps.h
M mlir/include/mlir/Dialect/Func/TransformOps/FuncTransformOps.td
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.h
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
M mlir/include/mlir/Dialect/GPU/TransformOps/Utils.h
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h
M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td
M mlir/include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.h
M mlir/include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.td
M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.h
M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h
M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.h
M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td
M mlir/include/mlir/Dialect/Transform/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h
M mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td
M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.h
M mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.td
M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
R mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
R mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.td
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.h
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/Dialect/Transform/IR/TransformTypes.h
M mlir/include/mlir/Dialect/Transform/IR/TransformTypes.td
A mlir/include/mlir/Dialect/Transform/Interfaces/CMakeLists.txt
A mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
A mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.td
M mlir/include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.h
M mlir/include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.td
M mlir/include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.h
M mlir/include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.td
M mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterPassBase.h
M mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterUtils.h
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.h
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
M mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
M mlir/lib/Dialect/Transform/CMakeLists.txt
M mlir/lib/Dialect/Transform/IR/CMakeLists.txt
M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
R mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformTypes.cpp
A mlir/lib/Dialect/Transform/Interfaces/CMakeLists.txt
A mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Transform/Transforms/CheckUses.cpp
M mlir/lib/Dialect/Transform/Transforms/InferEffects.cpp
M mlir/lib/Dialect/Transform/Transforms/InterpreterPass.cpp
M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterPassBase.cpp
M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/test/Dialect/Tensor/decompose-concat.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir
M mlir/test/Dialect/Tensor/rewrite-as-constant.mlir
M mlir/test/Dialect/Vector/vector-contract-to-outerproduct-matvec-transforms.mlir
M mlir/test/Dialect/Vector/vector-materialize-mask.mlir
M mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
M mlir/test/Dialect/Vector/vector-multi-reduction-outer-lowering.mlir
M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir
M mlir/test/Dialect/Vector/vector-transfer-full-partial-split-copy-transform.mlir
M mlir/test/Dialect/Vector/vector-transfer-full-partial-split.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir
M mlir/test/Integration/Dialect/Vector/CPU/test-shuffle16x16.mlir
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.h
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
M mlir/test/lib/Dialect/Transform/TestTransformDialectInterpreter.cpp
M mlir/test/lib/Dialect/Transform/TestTransformStateExtension.h
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir] split transform interfaces into a separate library (#85221)
Transform interfaces are implemented, direction or via extensions, in
libraries belonging to multiple other dialects. Those dialects don't
need to depend on the non-interface part of the transform dialect, which
includes the growing number of ops and transitive dependency footprint.
Split out the interfaces into a separate library. This in turn requires
flipping the dependency from the interface on the dialect that has crept
in because both co-existed in one library. The interface shouldn't
depend on the transform dialect either.
As a consequence of splitting, the capability of the interpreter to
automatically walk the payload IR to identify payload ops of a certain
kind based on the type used for the entry point symbol argument is
disabled. This is a good move by itself as it simplifies the interpreter
logic. This functionality can be trivially replaced by a
`transform.structured.match` operation.
Commit: de4ce5dd2bde7f9d7cbfe47a542a308779c43ce3
https://github.com/llvm/llvm-project/commit/de4ce5dd2bde7f9d7cbfe47a542a308779c43ce3
Author: John McCall <rjmccall at apple.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/test/CodeGen/swift-async-call-conv.c
Log Message:
-----------
Rebase swiftasynccall's musttail support onto the [[clang::musttail]] logic (#86011)
The old logic expects the call to be the last thing we emitted, and
since it kicks in before we emit cleanups, and since `swiftasynccall`
functions always return void, that's likely to be true. "Likely" isn't
very reassuring when we're talking about slapping attributes on random
calls, though. And indeed, while I can't find any way to break the logic
directly in current main, our previous (ongoing?) experiments with
shortening argument temporary lifetimes definitely broke it wide open.
So while this commit is prophylactic for now, it's clearly the right
thing to do, and it can cherry-picked to other branches to fix problems.
Commit: 2b7289d48a36563a6b33187f4bda581cb021aba7
https://github.com/llvm/llvm-project/commit/2b7289d48a36563a6b33187f4bda581cb021aba7
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/Transforms/PGOProfile/memop_profile_funclet_wasm.ll
Log Message:
-----------
[PGO] Use isScopedEHPersonality for funclet check (#85671)
This line should be `isScopedEHPersonality` rather than
`isFuncletEHPersonality` because this line is used for checking whether
we need to add `funclet` op bundles to newly added calls, and Wasm EH
needs that too.
The new test case is adapted from
https://github.com/llvm/llvm-project/blob/main/llvm/test/Transforms/PGOProfile/memop_profile_funclet.ll.
Commit: 061b40896470f6f1840d340fe52deb761026d3ef
https://github.com/llvm/llvm-project/commit/061b40896470f6f1840d340fe52deb761026d3ef
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M bolt/include/bolt/Profile/YAMLProfileWriter.h
M bolt/lib/Profile/YAMLProfileWriter.cpp
Log Message:
-----------
[BOLT][NFC] Expose YAMLProfileWriter::convert function
The function is to be used by YAML profile emission in BAT mode for
BinaryFunctions not covered by BAT tables (same as in original binary).
Test Plan: NFC
Reviewers: rafaelauler, ayermolo, dcci, maksfb
Reviewed By: dcci
Pull Request: https://github.com/llvm/llvm-project/pull/76909
Commit: de0abc0983d355bbd971c5c571ba4c209a0c63ea
https://github.com/llvm/llvm-project/commit/de0abc0983d355bbd971c5c571ba4c209a0c63ea
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M bolt/lib/Profile/YAMLProfileWriter.cpp
Log Message:
-----------
[BOLT][NFC] Simplify YAMLProfileWriter::convert
Use `getAnnotationWithDefault` instead of testing if the annotation is
set. If the default value is used, and `CSI.Count` is set to zero, the
target is discarded by a check below.
Test Plan: NFC
Reviewers: maksfb, dcci, rafaelauler, ayermolo
Reviewed By: ayermolo
Pull Request: https://github.com/llvm/llvm-project/pull/82129
Commit: 61b24c61a90802e06e40a7ab0aa5e2138486bd73
https://github.com/llvm/llvm-project/commit/61b24c61a90802e06e40a7ab0aa5e2138486bd73
Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
A mlir/test/Dialect/XeGPU/XeGPUOps.mlir
Log Message:
-----------
[MLIR][XeGPU] Adding XeGPU 2d block operators (#85804)
This PR adds XeGPU 2D block operators. It contains:
1. TensorDescType and TensorDescAttr definitions
2. MemoryScopeAttr and CacheHintAttr definitions which are used by
TensorDescAttr.
3. CreateNdDescOp, PrefetchNdOp, LoadNdOp, and StoreNdOp definitions,
and their corresponding testcases for illustration.
It cherry-picks daebe5c4f27ba140ac8d13abf41e3fe4db72b91a with asan fix.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: a7d5f73a03c81cab8df64dbd099e8acb40f5dfe1
https://github.com/llvm/llvm-project/commit/a7d5f73a03c81cab8df64dbd099e8acb40f5dfe1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/aarch64/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/generic-elf-64bit/dynamic_ffi/ffi.cpp
R openmp/libomptarget/plugins-nextgen/generic-elf-64bit/dynamic_ffi/ffi.h
R openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
A openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
A openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp
A openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.h
A openmp/libomptarget/plugins-nextgen/host/src/rtl.cpp
R openmp/libomptarget/plugins-nextgen/ppc64/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/ppc64le/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/s390x/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/x86_64/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Consolidate CPU offloading into 'host' directory (#86014)
Summary:
All of these CPU targets use the same underlying implementation. We
should consolidate them into a single target to make it easier to update
this to a static library based approach. I have decided to call this the
'host' target so it can be given a single name. We still only build
these if the system processor matches and we are on Linux.
Commit: 1918d4bcb21af6a7e4de32073455ac51f2f9673f
https://github.com/llvm/llvm-project/commit/1918d4bcb21af6a7e4de32073455ac51f2f9673f
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M bolt/CMakeLists.txt
Log Message:
-----------
[BOLT][CMake] Build rt library despite unreadable map_files (#77876)
Emit a warning and print a suggested workaround.
Fixes https://github.com/llvm/llvm-project/issues/77822.
Commit: ad00e7e5ed5ab050151c115b627e11a8e3960e25
https://github.com/llvm/llvm-project/commit/ad00e7e5ed5ab050151c115b627e11a8e3960e25
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation.test
Log Message:
-----------
[BOLT] Write and parse BF/BB hashes in BAT
This increases BAT section size to:
- large binary: 34832976 bytes (0.90x original),
- medium binary: 3586800 bytes (0.60x original),
- small binary: 816 bytes (0.57x original).
Test Plan: Updated bolt/test/X86/bolt-address-translation.test
Reviewers: rafaelauler, dcci, ayermolo, maksfb
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/76907
Commit: 5a6c69132fb427d9ba71a72274c66ddb76ae66d5
https://github.com/llvm/llvm-project/commit/5a6c69132fb427d9ba71a72274c66ddb76ae66d5
Author: Caroline Tice <cmtice at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
Log Message:
-----------
[LLVM][DebugInfo] Add accessor for NameIndex header.
This is needed for pending LLD work to create a single unified .debug_names
index (rather than just appending all the indices from each .o file).
Commit: 258091e76df69072e7088a5e251a2db7f8e3d0a9
https://github.com/llvm/llvm-project/commit/258091e76df69072e7088a5e251a2db7f8e3d0a9
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
Log Message:
-----------
[mlir] Fix -Wunused-variable in XeGPUOps.cpp (NFC)
llvm-project/mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp:47:8:
error: unused variable 'ty' [-Werror,-Wunused-variable]
auto ty = source.getType();
^
1 error generated.
Commit: af90e1975c15edc9195f1a1a87269bed4c83887a
https://github.com/llvm/llvm-project/commit/af90e1975c15edc9195f1a1a87269bed4c83887a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M compiler-rt/test/dfsan/custom.cpp
Log Message:
-----------
[dfsan] Use non-existent file in test for real
Commit: aa7e4ba3cad0e00dd37d4baca680ed1633bbdb70
https://github.com/llvm/llvm-project/commit/aa7e4ba3cad0e00dd37d4baca680ed1633bbdb70
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M bolt/lib/Profile/BoltAddressTranslation.cpp
Log Message:
-----------
[BOLT] Fix an unused variable warning
This patch fixes:
bolt/lib/Profile/BoltAddressTranslation.cpp:26:12: error: unused
variable 'HotFuncAddress' [-Werror,-Wunused-variable]
Commit: 893717446bbc8f31427b581af5fbaf4154b63402
https://github.com/llvm/llvm-project/commit/893717446bbc8f31427b581af5fbaf4154b63402
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M libc/CMakeLists.txt
Log Message:
-----------
[libc] Add an option to always build GPU loader utilities (#86040)
Summary:
Right now it's difficult to build these utilities standalone becayse
they're keyed off of the other GPU handling. if someone wants to *just*
build these utilities it's not possible without setting up the runtimes
build. Since we can't just build these by default add an option to
enable it.
We can't just use the handling like LIBC_HDRGEN does because this is
only for the GPU build, which isn't fully set up until way later. So
this is probably the easiest way to just allow people to build these
tools even without a GPU build setup.
Commit: 3cd988914e53c4c94e48edd4b6bc7b97b2dd4b49
https://github.com/llvm/llvm-project/commit/3cd988914e53c4c94e48edd4b6bc7b97b2dd4b49
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M bolt/test/X86/dwarf5-label-low-pc.s
Log Message:
-----------
[BOLT][DWARF] Fix Test (#86042)
Test was not actually checking bolt binary, and had extra POSTCHECK-NEXT
lines.
Commit: 71defe40b7df18508d63fb1b1233324e8a28688f
https://github.com/llvm/llvm-project/commit/71defe40b7df18508d63fb1b1233324e8a28688f
Author: Thurston Dang <thurston at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Suppress warning of cast from SignalHandlerType to sa_sigaction_t (#86046)
Some buildbots (e.g.,
https://lab.llvm.org/buildbot/#/builders/18/builds/16061/steps/10/logs/stdio)
have recently started complaining about
```
cast from 'SignalHandlerType' (aka 'void (*)(int, void *, void *)') to 'sa_sigaction_t' (aka 'void (*)(int, siginfo_t *, void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
219 | sigact.sa_sigaction = (sa_sigaction_t)handler;
```
This patch does an intermediate cast to `'(void (*) (void))'` to suppress the warning.
N.B. SignalHandlerType has `'void*'` instead of `'siginfo_t*'` because it is typedef'ed in sanitizer_common/sanitizer_common.h, which does not have access to the header (signal.h) that defines siginfo_t; we therefore cannot fix SignalHandlerType.
Commit: 631248dcd26fdec772cedb569be94ff8f12d0901
https://github.com/llvm/llvm-project/commit/631248dcd26fdec772cedb569be94ff8f12d0901
Author: hstk30-hw <hanwei62 at huawei.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
A clang/test/CodeGenCXX/x86_64-vaarg.cpp
Log Message:
-----------
[X86_64] fix empty structure vaarg in c++ (#77907)
SizeInBytes of empty structure is 0 in C, while 1 in C++. And empty
structure argument of the function is ignored in X86_64 backend.As a
result, the value of variable arguments in C++ is incorrect. fix #77036
Co-authored-by: Longsheng Mou <moulongsheng at huawei.com>
Commit: 35a66f965c0ea3b806b2b1736bfe4e6eb61d3613
https://github.com/llvm/llvm-project/commit/35a66f965c0ea3b806b2b1736bfe4e6eb61d3613
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
A llvm/test/CodeGen/X86/domain-reassignment-ndd.mir
Log Message:
-----------
Precommit test for #85737 (#86056)
Copied from llvm/test/CodeGen/X86/domain-reassignment.mir
Commit: 44a81af510801edce842e9574ec4d52cc7bd0ae9
https://github.com/llvm/llvm-project/commit/44a81af510801edce842e9574ec4d52cc7bd0ae9
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
Log Message:
-----------
[AArch64] Run LoopSimplifyPass in byte-compare-index.ll (#86053)
Make this test case work on both new and legacy pass manager. See also
#85215
Commit: 0d08282310e4007dfb748132e5c196765b1ffcd2
https://github.com/llvm/llvm-project/commit/0d08282310e4007dfb748132e5c196765b1ffcd2
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/CMakeLists.txt
Log Message:
-----------
[MLIR][XeGPU] Fix shared build. NFC
Commit: 0e3fbfd1e106dd027aab9ea4a9a6f116d05a0987
https://github.com/llvm/llvm-project/commit/0e3fbfd1e106dd027aab9ea4a9a6f116d05a0987
Author: Thurston Dang <thurston at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
Log Message:
-----------
Revert "[sanitizer_common] Suppress warning of cast from SignalHandlerType to sa_sigaction_t"
This reverts commit 9d79589e7c8b728a592a4b6b3dee53ac471d7946
because it failed to suppress the warning.
Commit: 5c95484061a58250de7e5abe150c6ebb25898523
https://github.com/llvm/llvm-project/commit/5c95484061a58250de7e5abe150c6ebb25898523
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/test/Analysis/AliasSet/intrinsics.ll
Log Message:
-----------
[Analysis] Use implicit-check-not in test
Commit: 07a5e31cb3836bf1f00d2f56f03db70145f536c1
https://github.com/llvm/llvm-project/commit/07a5e31cb3836bf1f00d2f56f03db70145f536c1
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
A llvm/test/CodeGen/X86/apx/domain-reassignment.mir
R llvm/test/CodeGen/X86/domain-reassignment-ndd.mir
Log Message:
-----------
Move pre-commit test for #85737 (#86062)
Commit: deefe3fbc93b3bdc77fbaf718403a45dae983d12
https://github.com/llvm/llvm-project/commit/deefe3fbc93b3bdc77fbaf718403a45dae983d12
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-overflow.mir
M llvm/test/CodeGen/AArch64/arm64-xaluo.ll
M llvm/test/CodeGen/AArch64/overflow.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
Log Message:
-----------
[GlobalIsel] Post-review combine ADDO (#85961)
https://github.com/llvm/llvm-project/pull/82927
Commit: 29bf32efbb646b2ab3dec25f100419fc75635878
https://github.com/llvm/llvm-project/commit/29bf32efbb646b2ab3dec25f100419fc75635878
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
A llvm/include/llvm/Passes/TargetPassRegistry.inc
A llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
Log Message:
-----------
[NewPM][AArch64] Add AArch64PassRegistry.def (#85215)
PR #83567 ports `SelectionDAGISel` to the new pass manager, then each
backend should provide `<Target>DagToDagISel()` in new pass manager
style. Then each target should provide `<Target>PassRegistry.def` to
register backend passes in `registerPassBuilderCallbacks` to reduce
duplicate code.
This PR adds `AArch64PassRegistry.def` to AArch64 backend and
boilerplate code in `registerPassBuilderCallbacks`.
Commit: a5d7fc1d1000ffb1d21796f5d587f277c2957d66
https://github.com/llvm/llvm-project/commit/a5d7fc1d1000ffb1d21796f5d587f277c2957d66
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
Log Message:
-----------
[mlir][sparse] Fix typos in comments (#86074)
Commit: 7bb87d533891c2bcfa1c9132605f0d3e8227d444
https://github.com/llvm/llvm-project/commit/7bb87d533891c2bcfa1c9132605f0d3e8227d444
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-abs.mir
M llvm/test/CodeGen/AArch64/abs.ll
Log Message:
-----------
[AArch64][GlobalISel] Take abs scalar codegen closer to SDAG (#84886)
This patch improves codegen for scalar (<128bits) version
of llvm.abs intrinsic by using the existing non-XOR based lowering.
This takes the generated code closer to SDAG.
codegen with GISel for > 128 bit types is not very good
with these method so not doing so.
Commit: 35d3b3430eff16403d004d9f0b0369f0814cf140
https://github.com/llvm/llvm-project/commit/35d3b3430eff16403d004d9f0b0369f0814cf140
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/test/Dialect/Arith/one-shot-bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-allow-return-allocs.mlir
A mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-analysis-bottom-up-from-terminators.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-partial.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-allow-return-allocs.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-analysis.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
M mlir/test/Dialect/Linalg/one-shot-bufferize.mlir
M mlir/test/Dialect/SCF/one-shot-bufferize-analysis.mlir
M mlir/test/Dialect/SCF/one-shot-bufferize.mlir
M mlir/test/Dialect/Tensor/one-shot-bufferize.mlir
Log Message:
-----------
[mlir][bufferization] Add "bottom-up from terminators" analysis heuristic (#83964)
One-Shot Bufferize currently does not support loops where a yielded
value bufferizes to a buffer that is different from the buffer of the
region iter_arg. In such a case, the bufferization fails with an error
such as:
```
Yield operand #0 is not equivalent to the corresponding iter bbArg
scf.yield %0 : tensor<5xf32>
```
One common reason for non-equivalent buffers is that an op on the path
from the region iter_arg to the terminator bufferizes out-of-place. Ops
that are analyzed earlier are more likely to bufferize in-place.
This commit adds a new heuristic that gives preference to ops that are
reachable on the reverse SSA use-def chain from a region terminator and
are within the parent region of the terminator. This is expected to work
better than the existing heuristics for loops where an iter_arg is
written to multiple times within a loop, but only one write is fed into
the terminator.
Current users of One-Shot Bufferize are not affected by this change.
"Bottom-up" is still the default heuristic. Users can switch to the new
heuristic manually.
This commit also turns the "fuzzer" pass option into a heuristic,
cleaning up the code a bit.
Commit: 733640d29ede70585e0e3e1dcc47b935981f791e
https://github.com/llvm/llvm-project/commit/733640d29ede70585e0e3e1dcc47b935981f791e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/align.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
Attributor: Handle inferring align from use by atomics (#85762)
Commit: df9ed9cf52f82aed023adc968ca2a0e7f7cccc69
https://github.com/llvm/llvm-project/commit/df9ed9cf52f82aed023adc968ca2a0e7f7cccc69
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/flatten-elementwise.mlir
Log Message:
-----------
[mlir][transform] Fix failure in flattening already flattened linalg ops (#86037)
The previous implementation was doing an early successful return on
`rank <= 1` without adding the original op to transform results. This
resulted in errors about number of returns. This patch fixes this by
adding the original op to results. Additionally, we first check if op is
elementwise and return a slienceable failure early if not.
Commit: 26c290b46ac6b4a81feb28ae1862fac961138a24
https://github.com/llvm/llvm-project/commit/26c290b46ac6b4a81feb28ae1862fac961138a24
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/tools/CMakeLists.txt
Log Message:
-----------
[cmake] Place clang behind mlir in the list of external projects (#86050)
In preparation for the initial ClangIR upstreaming process, move clang
behind MLIR in the list of external projects. Otherwise, cmake will
attempt to build clang before MLIR.
Commit: d59730d7060f33dd1607be1fd7813be78759a953
https://github.com/llvm/llvm-project/commit/d59730d7060f33dd1607be1fd7813be78759a953
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[CMake] Change GCC_INSTALL_PREFIX from warning to fatal error (#85891)
unless USE_DEPRECATED_GCC_INSTALL_PREFIX (temporary escape hatch) is
set. Setting GCC_INSTALL_PREFIX leads to a warning for Clang 18.1
(#77537) and will be completely removed for Clang 20.
Link:
discourse.llvm.org/t/add-gcc-install-dir-deprecate-gcc-toolchain-and-remove-gcc-install-prefix/65091
Link:
discourse.llvm.org/t/correct-cmake-parameters-for-building-clang-and-lld-for-riscv/72833
Commit: ce8e86971036cb34c3d32cf0b70169379c85ae2f
https://github.com/llvm/llvm-project/commit/ce8e86971036cb34c3d32cf0b70169379c85ae2f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Convert an assertion to an if condition in getRegAllocationHints (#85998)
With GPR pairs from Zdinx, we can't guarantee there are no subregisters
on integer instruction operands. I've been able to get these assertions
to fire after some other recent PRs.
I've added a FIXME to support this properly. I just wanted to prevent
the assertion failure for now.
No test case because my other patch #85982 that allowed me to fail the assert
hasn't been approved yet, and I don't know for that that patch is
required to hit this assert. It's just what exposed it for me. So I
think this patch is a good precaution regardless.
Commit: cbcdf126ccc774c063b5d5140c1393ff5305dded
https://github.com/llvm/llvm-project/commit/cbcdf126ccc774c063b5d5140c1393ff5305dded
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M llvm/tools/CMakeLists.txt
Log Message:
-----------
Revert "[cmake] Place clang behind mlir in the list of external projects (#86050)"
This reverts commit 26c290b46ac6b4a81feb28ae1862fac961138a24.
Commit: 8fb2160a76b5f051f4cc8f5c8c097830bc91c22c
https://github.com/llvm/llvm-project/commit/8fb2160a76b5f051f4cc8f5c8c097830bc91c22c
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
Log Message:
-----------
[RISCV] Use DenseMap to track V0 definition. NFC (#84465)
Reviving some of the progress on #71764. To recap, we explored removing
the V0 register copies to simplify the pass, but hit a limitation with
the register allocator due to our use of the vmv0 singleton reg class
and early-clobber constraints.
So since we will have to continue to track the definition of V0
ourselves, this patch simplifies it by storing it in a map. It will
allow us to move about copies to V0 in #71764 without having to do extra
bookkeeping.
Commit: adda597388dc148ac235e755b3e8bbd0a12a3e15
https://github.com/llvm/llvm-project/commit/adda597388dc148ac235e755b3e8bbd0a12a3e15
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M mlir/docs/DataLayout.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/layout.mlir
M mlir/test/Interfaces/DataLayoutInterfaces/module.mlir
M mlir/test/Interfaces/DataLayoutInterfaces/query.mlir
M mlir/test/Interfaces/DataLayoutInterfaces/types.mlir
M mlir/test/Target/LLVMIR/data-layout.mlir
M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
Log Message:
-----------
[MLIR] Add index bitwidth to the DataLayout (#85927)
When importing from LLVM IR the data layout of all pointer types
contains an index bitwidth that should be used for index computations.
This revision adds a getter to the DataLayout that provides access to
the already stored bitwidth. The function returns an optional since only
pointer-like types have an index bitwidth. Querying the bitwidth of a
non-pointer type returns std::nullopt.
The new function works for the built-in Index type and, using a type
interface, for the LLVMPointerType.
Commit: a29e9e32c50273abffc53e3700bbc23985f0a7af
https://github.com/llvm/llvm-project/commit/a29e9e32c50273abffc53e3700bbc23985f0a7af
Author: Roberto Bampi <gigaroby at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/docs/ClangFormat.rst
A clang/test/Format/fail-on-incomplete.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format] Add --fail-on-incomplete-format. (#84346)
At the moment clang-format will return exit code 0 on incomplete
results. In scripts it would sometimes be useful if clang-format would
instead fail in those cases, signalling that there was something wrong
with the code being formatted.
---------
Co-authored-by: Björn Schäpers <github at hazardy.de>
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: 1404640533fdeda5fb381019a436e4ee84bb2174
https://github.com/llvm/llvm-project/commit/1404640533fdeda5fb381019a436e4ee84bb2174
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Add target for index dialect python bindings
Commit: b6b703b2dfc1d1ba45ebc64ed6b53a3a46f531f5
https://github.com/llvm/llvm-project/commit/b6b703b2dfc1d1ba45ebc64ed6b53a3a46f531f5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
M llvm/test/CodeGen/AMDGPU/copy-vgpr-clobber-spill-vgpr.mir
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs-inreg-hints.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
M llvm/test/CodeGen/AMDGPU/vgpr-agpr-limit-gfx90a.ll
Log Message:
-----------
AMDGPU: Infer no-agpr usage in AMDGPUAttributor (#85948)
SIMachineFunctionInfo has a scan of the function body for inline asm
which may use AGPRs, or callees in SIMachineFunctionInfo. Move this
into the attributor, so it actually works interprocedurally.
Could probably avoid most of the test churn if this bothered to avoid
adding this on subtargets without AGPRs. We should also probably
try to delete the MIR scan in usesAGPRs but it seems to be trickier
to eliminate.
Commit: b433076fcbacba8a3b91446390bbea5843322bcd
https://github.com/llvm/llvm-project/commit/b433076fcbacba8a3b91446390bbea5843322bcd
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGen/aapcs-align.cpp
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/OpenMP/bug54082.c
Log Message:
-----------
[clang][CodeGen] Allow `memcpy` replace with trivial auto var init
When emitting the storage (or memory copy operations) for constant
initializers, the decision whether to split a constant structure or
array store into a sequence of field stores or to use `memcpy` is
based upon the optimization level and the size of the initializer.
In afe8b93ffdfef5d8879e1894b9d7dda40dee2b8d, we extended this by
allowing constants to be split when the array (or struct) type does
not match the type of data the address to the object (constant) is
expected to contain. This may happen when `emitStoresForConstant` is
called by `EmitAutoVarInit`, as the element type of the address gets
shrunk. When this occurs, let the initializer be split into a bunch
of stores only under `-ftrivial-auto-var-init=pattern`.
Fixes: https://github.com/llvm/llvm-project/issues/84178.
Commit: 9fb85b09946122aa5793b647d7939ac17817c5f5
https://github.com/llvm/llvm-project/commit/9fb85b09946122aa5793b647d7939ac17817c5f5
Author: Christian Sigg <csigg at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Update BUILD after 29bf32efbb646b2ab3dec25f100419fc75635878.
Commit: 7b5a5be2a7216906c20f9bcac2209ea3502a7a73
https://github.com/llvm/llvm-project/commit/7b5a5be2a7216906c20f9bcac2209ea3502a7a73
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitSUB/visitSUBO - move getAsNonOpaqueConstant into the if() where its used. NFC.
Noticed while beginning some cleanup for moving to pattern matchers
Commit: ee5e027cc64957c0e18b8c38ce10d4b84314511c
https://github.com/llvm/llvm-project/commit/ee5e027cc64957c0e18b8c38ce10d4b84314511c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
Log Message:
-----------
[X86] getShuffleCost - recognise concat_vector(X,Y) shuffle as InsertSubvector instead of PermuteTwoSrc
We don't have a concat_vector shuffle kind and improveShuffleKindFromMask won't alter the base type to match it as InsertSubvector.
But since this is how X86 will lower concat_vector anyhow, just recognise it explicitly.
Another step for #67803
Commit: a6a9215b93bcbf901cd11d2dd02cce1a245d3ffe
https://github.com/llvm/llvm-project/commit/a6a9215b93bcbf901cd11d2dd02cce1a245d3ffe
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
Log Message:
-----------
Lower shuffle to single-result form if possible. (#84321)
We currently always lower shuffle to the struct-returning variant. I saw
some cases where this survived all the way through ptx, resulting in
increased register usage. The easiest fix is to simply lower to the
single-result version when the predicate is unused.
Commit: 11aa95f83b7bf980ea13f1bb75e09af89a733acb
https://github.com/llvm/llvm-project/commit/11aa95f83b7bf980ea13f1bb75e09af89a733acb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitSUB - pull out repeated getScalarSizeInBits() calls. NFC.
Commit: 23de3862dce582ce91c1aa914467d982cb1a73b4
https://github.com/llvm/llvm-project/commit/23de3862dce582ce91c1aa914467d982cb1a73b4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitSUB - use sd_match to match SUB(MAX,MIN) -> ABD pattern. NFC.
Seriously simplifies the commutation matching logic.
Commit: ccb3a8feaa5b132dc829e55e069dde62008df4a8
https://github.com/llvm/llvm-project/commit/ccb3a8feaa5b132dc829e55e069dde62008df4a8
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
A llvm/test/CodeGen/AMDGPU/lds-mixed-absolute-addresses-unused.ll
M llvm/test/CodeGen/AMDGPU/lds-reject-mixed-absolute-addresses.ll
Log Message:
-----------
[AMDGPU][LowerModuleLDS] Refactor partially lowered module detection (#85793)
Refactor the logic that checks if a module contains mixed
absolute/non-lowered LDS GVs.
The check now happens latter when the "worklists" are formed. This is
because in some cases (OpenMP) we can have non-lowered GVs in a lowered
module, and this is normal because those GVs are just unused and removed
from the list at some point before the end of `getUsesOfLDSByFunction`.
Doing the check later ensures that if a mixed module is spotted, then
it's a _real_ mixed module that needs rejection, not a module containing
an intentionally ignored GV.
Commit: 8ecc377c88ba32978ace6a67de895403eeba3a22
https://github.com/llvm/llvm-project/commit/8ecc377c88ba32978ace6a67de895403eeba3a22
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Object/COFFImportFile.cpp
M llvm/test/tools/llvm-lib/arm64ec-implib.test
Log Message:
-----------
[llvm-lib] Use ARM64EC machine type for import libraries when -machine:arm64x is used. (#85972)
This is compatible with MSVC, `-machine:arm64x` is essentially an alias
to `-machine:arm64ec`. To make a type library that exposes both native
and EC symbols, an additional `-defArm64Native` argument is needed in
both cases.
Commit: 0124e0821dd87bb021f31d1d9aecc2e0f3a52514
https://github.com/llvm/llvm-project/commit/0124e0821dd87bb021f31d1d9aecc2e0f3a52514
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/COFF.h
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
Log Message:
-----------
[Object][COFF][NFC] Introduce Arm64ECThunkType enum. (#85936)
And use it in EC lowering code. It will be useful for LLD too.
Commit: 95a834a16c3de0de615d0cfa20a6c8bd973b6a1d
https://github.com/llvm/llvm-project/commit/95a834a16c3de0de615d0cfa20a6c8bd973b6a1d
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
A llvm/test/CodeGen/AMDGPU/lto-lower-module-lds.ll
Log Message:
-----------
(Reland) [AMDGPU] Run LowerLDS at the end of the fullLTO pipeline (#85626)
Reland of #75333
Commit: 2096f37d7a580a4b4ddce2a44abb80ff90f273ee
https://github.com/llvm/llvm-project/commit/2096f37d7a580a4b4ddce2a44abb80ff90f273ee
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M libcxx/include/__string/char_traits.h
Log Message:
-----------
[libc++][NFC] Use __constexpr_memmove instead of copy_n in <__string/char_traits.h> (#85920)
`copy_n` has been used to allow constant evaluation of `char_traits`. We
now have `__constexpr_memmove`, which `copy_n` just forwards to. We can
call `__constexpr_memmove` directly, avoiding a bunch of instantiations.
This reduces the time it takes to include `<string>` from 321ms to
285ms.
Commit: cb071942f881e743b8131688a873dab760c7b88d
https://github.com/llvm/llvm-project/commit/cb071942f881e743b8131688a873dab760c7b88d
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
Log Message:
-----------
[OpenMP] Fix SystemZ build failure
Commit a7d5f73a03c81cab8df64dbd099e8acb40f5dfe1 introduced an
error in a target_compile_definitions on the SystemZ, causing
the build to break. Fixed by adding the missing "PRIVATE".
Commit: e8cf1754988cf281e76ae463b3e1f3c0cda3f230
https://github.com/llvm/llvm-project/commit/e8cf1754988cf281e76ae463b3e1f3c0cda3f230
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[runtimes] Fix OpenMP dependencies (#85977)
When building the OpenMP runtime with libomptarget support, the runtimes
configure step needs to have a dependency on various tools, in
particular opt, so that cmake configure checks yield the correct
results.
This did not work correctly, as the dependencies were only added if the
OPENMP_ENABLE_LIBOMPTARGET was set - but that variable is only set by
the openmp/CMakeLists.txt file, which isn't even parsed during the
initial cmake run (in fact, it is only parsed when executing the
runtimes configure step itself, but then it is too late).
Fixed by just adding those dependencies always.
In addition, the list of dependencies collected in ${extra_deps},
including those required for OpenMP, was only actually used when
configuring runtimes for the default set of targets - when the user
specifies a non-default LLVM_RUNTIME_TARGETS, those extra dependencies
were ignored (with the exception of ${hdrgen_deps}).
Fixed by passing the full ${extra_deps} in this case as well.
Fixes: https://github.com/llvm/llvm-project/issues/85933
Commit: 8779edb8b33e8ae7e021c8fa7fff80d77567b28c
https://github.com/llvm/llvm-project/commit/8779edb8b33e8ae7e021c8fa7fff80d77567b28c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__system_error/errc.h
M libcxx/include/cerrno
M libcxx/src/random.cpp
A libcxx/test/std/depr.cerro/cerrno.syn.verify.cpp
A libcxx/test/std/depr.cerro/system.error.syn.verify.cpp
M libcxx/test/std/diagnostics/syserr/errc.pass.cpp
Log Message:
-----------
[libc++] Deprecates std::errc constants. (#80542)
Implements:
- LWG3869 Deprecate std::errc constants related to UNIX STREAMS
Commit: 7e72cafd68335e45d95ea6b7705bb5b9e7e442c8
https://github.com/llvm/llvm-project/commit/7e72cafd68335e45d95ea6b7705bb5b9e7e442c8
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/dagcombine-shifts.ll
Log Message:
-----------
[SelectionDAG] Add MaskedValueIsZero check to allow folding of zero extended variables we know are safe to extend (#85573)
Add ones for every high bit that will cleared.
This will allow us to evaluate variables that have their bits known to
see if they have no risk of overflow despite the shift amount being
greater than the difference between the two types.
Commit: 83e5a1239242d64110e3dfa96ed3889170ab96b2
https://github.com/llvm/llvm-project/commit/83e5a1239242d64110e3dfa96ed3889170ab96b2
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Don't expose interface headers from //mlir:IR. (#85867)
Move 3 interface headers in `//mlir:IR` from `hdrs` to `srcs`.
Header files should not be added to multiple targets, but this is hard
to avoid because CMake is less strict with headers. But we should at
least avoid exposing them as headers by multiple targets because it
confuses tooling.
Commit: 3ac243bc0d7922d083af2cf025247b5698556062
https://github.com/llvm/llvm-project/commit/3ac243bc0d7922d083af2cf025247b5698556062
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/schedule-addrspaces.ll
M llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll
Log Message:
-----------
Update amdgpu_gfx functions to use s0-s3 for inreg SGPR arguments on targets using scratch instructions for stack #78226 (#81394)
Resolve #78226
Commit: 34f0a8aaba11bf703ddd2de92eee8ecbb77be5c8
https://github.com/llvm/llvm-project/commit/34f0a8aaba11bf703ddd2de92eee8ecbb77be5c8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/orig-btiwidth-les-projected.ll
Log Message:
-----------
[SLP]Fix comparison in bitwidth check.
Projected bitwidth should be less than the original, not greater.
Commit: df6a1d44094e187d7d5ea3ee5b54b9bccc8a4798
https://github.com/llvm/llvm-project/commit/df6a1d44094e187d7d5ea3ee5b54b9bccc8a4798
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M mlir/include/mlir/IR/TensorEncoding.td
Log Message:
-----------
[mlir][tensor] NFC: fully qualify verifyEncoding arguments.
Commit: 2699072b4bc8d8d5e84eb66af38face73ceeb4d3
https://github.com/llvm/llvm-project/commit/2699072b4bc8d8d5e84eb66af38face73ceeb4d3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/Features.def
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/Lexer/has_extension_cxx.cpp
M clang/test/OpenMP/declare_reduction_messages.cpp
M clang/test/OpenMP/openmp_check.cpp
A clang/test/Parser/cxx03-lambda-extension.cpp
M clang/test/Parser/cxx0x-lambda-expressions.cpp
M clang/test/Parser/cxx2b-lambdas.cpp
M clang/test/Parser/objcxx-lambda-expressions-neg.mm
M clang/test/ParserHLSL/group_shared.hlsl
M clang/test/SemaCXX/cxx2a-template-lambdas.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/lambda-implicit-this-capture.cpp
M clang/test/SemaCXX/lambda-invalid-capture.cpp
M clang/test/SemaCXX/new-delete.cpp
Log Message:
-----------
[clang] Accept lambdas in C++03 as an extensions (#73376)
Implements
https://discourse.llvm.org/t/rfc-allow-c-11-lambdas-in-c-03-as-an-extension/75262
Commit: 4946cc37f4865b89fbebcfa0120183a11ae8d4ab
https://github.com/llvm/llvm-project/commit/4946cc37f4865b89fbebcfa0120183a11ae8d4ab
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/lib/ObjCopy/ConfigManager.cpp
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
A llvm/test/tools/llvm-objcopy/ELF/skip-symbol.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
Log Message:
-----------
[llvm-objcopy] Add --skip-symbol and --skip-symbols options (#80873)
Add --skip-symbol and --skip-symbols options that allow to skip symbols
when executing other options that can change the symbol's name, binding
or visibility, similar to an existing option --keep-symbol that keeps a
symbol from being removed by other options.
Commit: 02cb89b36a7ae9be4ab657306b69dc9d2830d0d5
https://github.com/llvm/llvm-project/commit/02cb89b36a7ae9be4ab657306b69dc9d2830d0d5
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/include/llvm/Passes/TargetPassRegistry.inc
Log Message:
-----------
[NewPM] Handle error in TargetPassRegistry.inc (#86112)
Mistakenly believing that checking Expected is sufficient.
Commit: 734026347cca85cf0e242ef5f04896f55e0ac113
https://github.com/llvm/llvm-project/commit/734026347cca85cf0e242ef5f04896f55e0ac113
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
A flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
Log Message:
-----------
Reapply "[Flang][OpenMP][Lower] NFC: Move clause processing helpers into the ClauseProcessor (#85258)" (#85807)
This patch contains slight modifications to the reverted PR #85258 to
avoid issues with constructs containing multiple reduction clauses,
uncovered by a test on the gfortran testsuite.
This reverts commit 9f80444c2e669237a5c92013f1a42b91b5609012.
Commit: fa6e4338369c787710f1fe682cf6bd62348b9104
https://github.com/llvm/llvm-project/commit/fa6e4338369c787710f1fe682cf6bd62348b9104
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
Log Message:
-----------
[mlir][tosa] Fix assertion failure in tosa-layerwise-constant-fold (#85670)
The existing implementation of tosa-layerwise-constant-fold only works
for constant values backed by DenseElementsAttr. For constants which
hold DenseResourceAttrs, the folder will end up asserting at runtime, as
it assumes that the backing data can always be accessed through
ElementsAttr::getValues.
This change reworks the logic so that types types used to perform
folding are based on whether the ElementsAttr can be converted to a
range of that particular type.
---------
Co-authored-by: Spenser Bauman <sabauma at mathworks.com>
Co-authored-by: Tina Jung <tinamaria.jung at amd.com>
Commit: 49b520856967c2354339d3c2a05fcf1d2d637f30
https://github.com/llvm/llvm-project/commit/49b520856967c2354339d3c2a05fcf1d2d637f30
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/xmmintrin.h
Log Message:
-----------
[X86][Headers] Specify result of NaN comparisons (#85862)
Make sure all float/double comparison intrinsics specify what happens
with a NaN input. Update some existing descriptions of comparison
results to make them all consistent.
Also replace "yields" with "returns" throughout.
Commit: aa4cbaba1dd3882932ab8772392325242f3c7bee
https://github.com/llvm/llvm-project/commit/aa4cbaba1dd3882932ab8772392325242f3c7bee
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
Log Message:
-----------
[SLP][NFC]Add a test with @llvm.abs nodes, which can be analyzed for
better bitwidth.
Commit: 538257bf00960f6134a51a17c8477b298ff87c30
https://github.com/llvm/llvm-project/commit/538257bf00960f6134a51a17c8477b298ff87c30
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Update BUILD after 61b24c61a90802e06e40a7ab0aa5e2138486bd73
Commit: 0aa6d57e575dd920db81bef7ff509c4d3a9c6891
https://github.com/llvm/llvm-project/commit/0aa6d57e575dd920db81bef7ff509c4d3a9c6891
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
A mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
A mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitCPass.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/MemRefToEmitC/CMakeLists.txt
A mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
A mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
A mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
A mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR] Add initial convert-memref-to-emitc pass (#85389)
This converts `memref.alloca`, `memref.load` & `memref.store` to
`emitc.variable`, `emitc.subscript` and `emitc.assign`.
Commit: 276283d8641f13b6ecde736ab1a8720f742d9d02
https://github.com/llvm/llvm-project/commit/276283d8641f13b6ecde736ab1a8720f742d9d02
Author: chrulski-intel <christopher.m.chrulski at intel.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/MinGW/driver.test
Log Message:
-----------
[LLD] [MinGW] Implement the -lto-sample-profile option (#85841)
This has been a supported option for ELF and is added to the COFF Linker
in #85701
Commit: 5344a370fe85d9119729d9036540bbd91956da38
https://github.com/llvm/llvm-project/commit/5344a370fe85d9119729d9036540bbd91956da38
Author: Kirill Chibisov <contact at kchibisov.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
M mlir/test/Dialect/EmitC/transforms.mlir
Log Message:
-----------
[mlir][emitc] Fix form-expressions inside expression (#86081)
Make form-expressions not create `emitc.expression`s for operations
inside the `emitc.expression`s, since they are invalid.
Commit: 15eba9c12a1486ee600e35ecb83b1f2c8459416e
https://github.com/llvm/llvm-project/commit/15eba9c12a1486ee600e35ecb83b1f2c8459416e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add DataLayout to VectorCombine class instead of repeated calls to getDataLayout(). NFC.
Commit: 686f4599cfa444aa62db4e22bf752f3d9614c30d
https://github.com/llvm/llvm-project/commit/686f4599cfa444aa62db4e22bf752f3d9614c30d
Author: David Green <david.green at arm.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/test/CodeGen/ARM/arm-and-tst-peephole.ll
M llvm/test/CodeGen/ARM/select.ll
Log Message:
-----------
[ARM] Regenerate some check lines. NFC
Commit: 2bfa7d0e1691dcff095c602a0387a6d13213dc91
https://github.com/llvm/llvm-project/commit/2bfa7d0e1691dcff095c602a0387a6d13213dc91
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
Log Message:
-----------
[InstCombine] Fold `fmul X, -0.0` into `copysign(0.0, -X)` (#85772)
`fneg + copysign` is better than fmul for analysis/codegen.
godbolt: https://godbolt.org/z/eEs6dGd1G
Alive2: https://alive2.llvm.org/ce/z/K3M5BA
Commit: 857161c367a1cdca926dbe0d2601e3afc52f03f9
https://github.com/llvm/llvm-project/commit/857161c367a1cdca926dbe0d2601e3afc52f03f9
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/MC/AMDGPU/hsa-amdgpu-exprs.s
A llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
A llvm/test/MC/AMDGPU/hsa-tg-split.s
Log Message:
-----------
[AMDGPU] MCExpr-ify MC layer kernel descriptor (#80855)
Kernel descriptor attributes, with their respective emit and asm parse functionality, converted to MCExpr.
Commit: 26c3d018b1f57b33779c53d4fed5ea895810c314
https://github.com/llvm/llvm-project/commit/26c3d018b1f57b33779c53d4fed5ea895810c314
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 857161c367a1
Commit: a11d9b463966d31ecedb373115abdcca54f704c3
https://github.com/llvm/llvm-project/commit/a11d9b463966d31ecedb373115abdcca54f704c3
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/test/Driver/clang-offload-bundler-asserts-on.c
M clang/test/Driver/clang-offload-bundler-standardize.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/fat-archive-unbundle-ext.c
Log Message:
-----------
Disable driver tests on macosx that are currently disabled on darwin (#85990)
macosx and darwin in triples are equivalent.
rdar://124246653
Commit: 2152094a45af98c9ccfef6d5913f38c66ab8b165
https://github.com/llvm/llvm-project/commit/2152094a45af98c9ccfef6d5913f38c66ab8b165
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/modules-print-library-module-manifest-path.cpp
Log Message:
-----------
[clang] Improves -print-library-module-manifest-path. (#85943)
This adds a libc++ to modules.json as is currently used by libc++. When
libc++.so is not found the function will search for libc++.a as
fallback.
Commit: 2861856baf16e43a5e465e87022c6c2c2d238969
https://github.com/llvm/llvm-project/commit/2861856baf16e43a5e465e87022c6c2c2d238969
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
A mlir/include/mlir/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.h
A mlir/include/mlir/Dialect/Vector/IR/ValueBoundsOpInterfaceImpl.h
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Dialect/Vector/IR/CMakeLists.txt
A mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
A mlir/lib/Dialect/Vector/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
A mlir/test/Dialect/Vector/test-scalable-bounds.mlir
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
Log Message:
-----------
[mlir][Vector] Add utility for computing scalable value bounds (#83876)
This adds a new API built with the `ValueBoundsConstraintSet` to compute
the bounds of possibly scalable quantities. It uses knowledge of the
range of vscale (which is defined by the target architecture), to solve
for the bound as either a constant or an expression in terms of vscale.
The result is an `AffineMap` that will always take at most one
parameter, vscale, and returns a single result, which is the bound of
`value`.
The API is defined as follows:
```c++
FailureOr<ConstantOrScalableBound>
vector::ScalableValueBoundsConstraintSet::computeScalableBound(
Value value, std::optional<int64_t> dim,
unsigned vscaleMin, unsigned vscaleMax,
presburger::BoundType boundType,
bool closedUB = true,
StopConditionFn stopCondition = nullptr);
```
Note: `ConstantOrScalableBound` is a thin wrapper over the `AffineMap`
with a utility for converting the bound to a single quantity (i.e. a
size and scalable flag).
We believe this API could prove useful downstream in IREE (which uses a
similar analysis to hoist allocas, which currently fails for scalable
vectors).
Commit: d1f182c895728d89c5c3d198b133e212a5d9d4a3
https://github.com/llvm/llvm-project/commit/d1f182c895728d89c5c3d198b133e212a5d9d4a3
Author: Joe Nash <Sisyph at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
R llvm/test/MC/AMDGPU/gfx11_asm_vinterp.s
A llvm/test/MC/AMDGPU/vinterp-fake16.s
R llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vinterp.txt
R llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vinterp.txt
A llvm/test/MC/Disassembler/AMDGPU/vinterp-fake16.txt
Log Message:
-----------
[AMDGPU][MC][True16] Rename and combine VINTERP MC tests (#85949)
NFC.
gfx11_asm_vinterp.s already contained GFX12 run lines. Rename the
assembler and disassembler tests to be sorted based on real16 or fake16
instead of gfxip. Note, both GFX11 and GFX12 currently only have fake16
(fake16 in encoding, but not by name) upstream, so that is why the test
files have a -fake16 suffix.
One test input is changed, and that is the disassembler test for
unsupported bits in the instruction. It is now an input that is valid on
both GFX11 and GFX12. This was necessary because the size of the opcode
field changed.
Commit: 44278f2326e0df463f6d5dd43820858ee4cffc6f
https://github.com/llvm/llvm-project/commit/44278f2326e0df463f6d5dd43820858ee4cffc6f
Author: Joe Nash <joseph.nash at amd.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_features.txt
Log Message:
-----------
[AMDGPU][MC] Fix GFX12 check line typo and move test
NFC.
Fix CHECK lines that seem to have a copy paste error.
Move the test that was formerly in gfx12_dasm_vinterp.txt (see #85949).
Commit: b4b5e8277a86d441830dbba54917bf22b0ad8608
https://github.com/llvm/llvm-project/commit/b4b5e8277a86d441830dbba54917bf22b0ad8608
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/FinalizeISel.cpp
A llvm/test/CodeGen/SystemZ/frame-adjstack.ll
Log Message:
-----------
Check for all frame instructions in finalize isel. (#85945)
Check for all frame instructions in finalize isel, not just for the
frame setup opcode. This was proven necessary, see #78001
for discussion.
Commit: 6898147b9f38c3bb46be5704bdad22abed7af339
https://github.com/llvm/llvm-project/commit/6898147b9f38c3bb46be5704bdad22abed7af339
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
A llvm/docs/InstCombineContributorGuide.md
M llvm/docs/UserGuides.rst
Log Message:
-----------
[InstCombine] Add contributor guide (#79007)
Document expectations for contributions to InstCombine, especially
regarding test coverage and alive2 proofs.
Commit: 8d7a6e2fd8beadc54a2e54fa361d35c66fdb40a4
https://github.com/llvm/llvm-project/commit/8d7a6e2fd8beadc54a2e54fa361d35c66fdb40a4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/gather-nodes-different-bb.ll
Log Message:
-----------
[SLP]Fix a crash for gather node with instructions from different bbs,
if cost threshold is very low.
Commit: e4fa2e3562f20106f0fe4a4d09df03a548db4eae
https://github.com/llvm/llvm-project/commit/e4fa2e3562f20106f0fe4a4d09df03a548db4eae
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[DAG] isGuaranteedNotToBeUndefOrPoisonForTargetNode - add fallback implementation (#86125)
Allow targets to rely on TargetLowering::isGuaranteedNotToBeUndefOrPoisonForTargetNode to test nodes for canCreateUndefOrPoisonForTargetNode + all arguments are isGuaranteedNotToBeUndefOrPoison.
Targets can still perform this themselves for specific special case nodes (e.g. target shuffles).
Matches the fallback in SelectionDAG::isGuaranteedNotToBeUndefOrPoison
Commit: 7678e6e562811688b472ad19900fa64cd00b7c06
https://github.com/llvm/llvm-project/commit/7678e6e562811688b472ad19900fa64cd00b7c06
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
A llvm/test/CodeGen/RISCV/zdinx-large-spill.mir
Log Message:
-----------
[RISCV] Lower the alignment requirement for a GPR pair spill for Zdinx on RV32. (#85871)
I believe we can use XLen alignment as long as eliminateFrameIndex
limits the maximum folded offset to 2043. This way when we split
the load/store into two 2 instructions we'll be able to add 4
without overflowing simm12.
Commit: c04807c84e2a2653ab325f1b8ec73916565e6c54
https://github.com/llvm/llvm-project/commit/c04807c84e2a2653ab325f1b8ec73916565e6c54
Author: aniplcc <aniplccode at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/stdio.rst
M libc/spec/stdc.td
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/linux/CMakeLists.txt
A libc/src/stdio/linux/rename.cpp
A libc/src/stdio/rename.h
M libc/test/src/stdio/CMakeLists.txt
A libc/test/src/stdio/rename_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][c11] Add stdio.h's rename() function (#85068)
Adds stdio.h's rename() function as defined in n3096. Fixes #84980.
Commit: 50801f1095d33e712c3a51fdeef82569bd09007f
https://github.com/llvm/llvm-project/commit/50801f1095d33e712c3a51fdeef82569bd09007f
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M libcxx/modules/CMakeLists.txt
Log Message:
-----------
Reapply [libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#86020)
This reapplies 272d1b44efdedb68c194970a610f0ca1b7b769c5 (from #85756),
which was reverted in
407937036fa7640f61f225474b1ea6623a40dbdd.
In the previous attempt, empty CMAKE_INSTALL_PREFIX was handled by
quoting them, in d209d1340b99d4fbd325dffb5e13b757ab8264ea. That made the
calls to cmake_path(ABSOLUTE_PATH) succeed, but the output paths of that
weren't actually absolute, which was required by file(RELATIVE_PATH).
Avoid this issue by constructing a non-empty base directory variable
to use for calculating the relative path.
Commit: 7650a01927b8488b1d6d0930109e78c695193faf
https://github.com/llvm/llvm-project/commit/7650a01927b8488b1d6d0930109e78c695193faf
Author: timoh-ba <t.habighorst at beckhoff.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/MC/MCDwarf.cpp
A llvm/test/MC/COFF/dwarf5lineinfo.s
Log Message:
-----------
[DWARF5][COFF] Emit section-relative .debug_line_str relocations (#83773)
Dwarf 5 allows separating filenames from .debug_line into a separate
.debug_line_str section. The strings are referenced relative to the
start of the .debug_line_str section. Previously, on COFF, the
relocation information instead caused offsets to be relocated to the
base address of the COFF-File. This lead to wrong offsets in linked
COFF (PE) files which caused the debugger to be unable to find the
correct source files.
This patch fixes this problem by making the offsets relative to the
start of the .debug_line_str section instead. There should be no
changes for ELF-Files as everything seems to be working there.
A test is also added to ensure that the correct relocation entries are
emitted.
Commit: 0c8dfc85c3740bd8905e21642f616e6fd54854e0
https://github.com/llvm/llvm-project/commit/0c8dfc85c3740bd8905e21642f616e6fd54854e0
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/rename_test.cpp
Log Message:
-----------
[libc][stdio][test] fixup rename test (#86136)
Link: #84980
Link: #85068
Commit: 556fe5f290ea88dcbb7ced16b0f057dcebce1fd0
https://github.com/llvm/llvm-project/commit/556fe5f290ea88dcbb7ced16b0f057dcebce1fd0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M lldb/include/lldb/Core/Disassembler.h
M lldb/include/lldb/Symbol/LineEntry.h
M lldb/include/lldb/Utility/SupportFile.h
M lldb/source/API/SBLineEntry.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/LineEntry.cpp
M lldb/source/Symbol/LineTable.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/TraceDumper.cpp
M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
Log Message:
-----------
[lldb] Reland: Store SupportFile in FileEntry (NFC) (#85892)
This is another step towards supporting DWARF5 checksums and inline
source code in LLDB. This is a reland of #85468 but without the
functional change of storing the support file from the line table (yet).
Commit: 6295e677220bb6ec1fa8abe2f4a94b513b91b786
https://github.com/llvm/llvm-project/commit/6295e677220bb6ec1fa8abe2f4a94b513b91b786
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
A llvm/test/Transforms/Float2Int/pr79158.ll
Log Message:
-----------
[Float2Int] Pre-commit test for SIToFP/UIToFP ConstantRange bug. NFC
The range for these operations is being constructed without the
maximum value for the range due to an incorrect usage of the
ConstantRange constructor.
This causes Float2Int to think the range for 'uitofp i1' only
contains 0 instead of 0 and 1.
Commit: 38f8a3cf0d75cd25e13d3757027f7356e4466cb9
https://github.com/llvm/llvm-project/commit/38f8a3cf0d75cd25e13d3757027f7356e4466cb9
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/GPUToSPIRV/load-store.mlir
M mlir/test/Conversion/MemRefToSPIRV/bitwidth-emulation.mlir
M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
M mlir/test/Conversion/SCFToSPIRV/for.mlir
M mlir/test/Conversion/TensorToSPIRV/tensor-ops-to-spirv.mlir
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
Log Message:
-----------
[mlir][spirv] Improve folding of MemRef to SPIRV Lowering (#85433)
Investigate the lowering of MemRef Load/Store ops and implement
additional folding of created ops
Aims to improve readability of generated lowered SPIR-V code.
Part of work llvm#70704
Commit: 6317c780d81327bd06701a6aa374fc92aa3d73ad
https://github.com/llvm/llvm-project/commit/6317c780d81327bd06701a6aa374fc92aa3d73ad
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
Log Message:
-----------
[lldb][progress][NFC] Clarify Doxygen comments for `details` field (#86002)
The Doxygen comments for the `details` field of a progress report
currently does not specify that this field will act as the initial set
of details for a progress report that gets updated with
`Progress::Increment()`. This commit clarifies this.
Commit: f5c90f3000bc75a344bf01bd4e0401e3fb7f9453
https://github.com/llvm/llvm-project/commit/f5c90f3000bc75a344bf01bd4e0401e3fb7f9453
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast.ll
M llvm/test/CodeGen/RISCV/spill-fill-fold.ll
Log Message:
-----------
[RISCV] Use BuildPairF64 and SplitF64 for bitcast i64<->f64 on rv32 regardless of Zfa. (#85982)
Previously we used BuildPairF64 and SplitF64 only if Zfa was supported
since they will select register file moves that are only available with
Zfa.
We recently changed the handling of BuildPairF64/SplitF64 for Zdinx to
not go through memory so we should use that for bitcast.
That leaves the D without Zfa case that does need to go through memory.
Previously we let type legalization expand to loads and stores using a
new stack temporary created for each bitcast. After this patch we will
create the loads ands stores in the custom inserter and share the same
stack slot for all. This also allows DAGCombiner to optimize when
bitcast is mixed with BuildPairF64/SplitF64.
Commit: 81bd799819f498a55e32599bce51fa98b2e73238
https://github.com/llvm/llvm-project/commit/81bd799819f498a55e32599bce51fa98b2e73238
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M lldb/source/Symbol/LineEntry.cpp
Log Message:
-----------
[lldb] Add missing initialization in LineEntry ctor
Commit: d8b0d8d6713d474cfd622e03090a7ad5206ee574
https://github.com/llvm/llvm-project/commit/d8b0d8d6713d474cfd622e03090a7ad5206ee574
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
Log Message:
-----------
AMDGPU: Use defset to cleanup marking MFMA intrinsics as divergent (#85915)
Commit: d9f0d9a1452ed78e943423c9fbbd63674625f7f5
https://github.com/llvm/llvm-project/commit/d9f0d9a1452ed78e943423c9fbbd63674625f7f5
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M flang/include/flang/Common/Version.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Frontend/LangOptions.h
Log Message:
-----------
[flang][NFC] Fix header guards
Some header guards conflicted with clang. Fix a few others to follow the
convention in the rest of the headers in flang.
Commit: 12836467b76c56872b4c22a6fd44bcda696ea720
https://github.com/llvm/llvm-project/commit/12836467b76c56872b4c22a6fd44bcda696ea720
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/IR/ConstantRange.cpp
M llvm/test/Transforms/Float2Int/pr79158.ll
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
[ConstantRange] Fix off by 1 bugs in UIToFP and SIToFP handling. (#86041)
We were passing the min and max values of the range to the ConstantRange
constructor, but the constructor expects the upper bound to 1 more than
the max value so we need to add 1.
We also need to use getNonEmpty so that passing 0, 0 to the constructor
creates a full range rather than an empty range. And passing smin,
smax+1 doesn't cause an assertion.
I believe this fixes at least some of the reason #79158 was reverted.
Commit: 9a87d4d546a4382879b1beb96687acbad0ef4cc0
https://github.com/llvm/llvm-project/commit/9a87d4d546a4382879b1beb96687acbad0ef4cc0
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/type_traits.h
A libc/src/__support/CPP/type_traits/is_constant_evaluated.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Add `is_constant_evaluated` type_traits (#86139)
This will replace `__builtin_is_constant_evaluated` in math_extras.h.
Commit: c1c2551a2876f536b5a06f48fa809aeedbc3d7ba
https://github.com/llvm/llvm-project/commit/c1c2551a2876f536b5a06f48fa809aeedbc3d7ba
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/ubsan-builtin-checks.c
R clang/test/Sema/builtin-popcountg.c
A clang/test/Sema/count-builtins.c
Log Message:
-----------
[clang] Implement __builtin_{clzg,ctzg} (#83431)
Fixes #83075, fixes #83076.
Commit: 6eff53b4f07c1d8f6ae271254499ec087f40cc83
https://github.com/llvm/llvm-project/commit/6eff53b4f07c1d8f6ae271254499ec087f40cc83
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M libc/src/stdio/linux/rename.cpp
M libc/test/src/stdio/rename_test.cpp
Log Message:
-----------
[libc][stdio] implement rename via SYS_renameat2 (#86140)
SYS_rename may be unavailable on architectures such as aarch64 and
riscv.
rename can be implemented in terms of SYS_rename, SYS_renameat, or
SYS_renameat2. I don't have a full picture of the history here, but it
seems
that SYS_renameat might also be unavailable on some platforms.
`man 2 rename` mentions that SYS_renameat2 was added in Linux 3.15. We
don't
need to support such ancient kernel versions prior.
Link: #84980
Link: #85068
Commit: 69429276098df2f2cf67dcab1c96ce8f56280c11
https://github.com/llvm/llvm-project/commit/69429276098df2f2cf67dcab1c96ce8f56280c11
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] combineConcatVectorOfScalars - stop always creating UNDEF nodes. NFC.
Noticed in debug logs - most calls to visitVECTOR_SHUFFLE resulted into wasteful UNDEF node creations, despite almost never being used.
Commit: 4bf8dc1a0f9546afb2c13c121e34237ce16cfca6
https://github.com/llvm/llvm-project/commit/4bf8dc1a0f9546afb2c13c121e34237ce16cfca6
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__config
M libcxx/include/__memory/allocator.h
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.verify.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx2a.pass.cpp
M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.depr_in_cxx17.verify.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.verify.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.pass.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.verify.cpp
M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.depr_in_cxx17.verify.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.verify.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.verify.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx2a.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx20.pass.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx2a.pass.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/enable_removed_allocator_members.deprecated.verify.cpp
R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_allocator_void_no_members.verify.cpp
R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_with_removed_members.compile.pass.cpp
M libcxx/test/std/containers/sequences/deque/types.pass.cpp
M libcxx/test/std/containers/sequences/list/types.pass.cpp
M libcxx/test/std/containers/sequences/vector/types.pass.cpp
Log Message:
-----------
[libc++] Remove macros for keeping std::allocator members and void specialization after C++20 (#85806)
Fixes #75975.
Remove `_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS` for the LLVM 19
release, it was previously marked as deprecated in LLVM 18.
I believe that
`_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_VOID_SPECIALIZATION` was only
used by Google in conjunction with
`_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS`.
Removing both macros together should not cause any issues in practice,
even though we did not announce the removal of
`_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_VOID_SPECIALIZATION` before.
Commit: 797336b1278cb7a8b788e467f8fbbc11939143a8
https://github.com/llvm/llvm-project/commit/797336b1278cb7a8b788e467f8fbbc11939143a8
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
R llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
R llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
R llvm/test/MC/AMDGPU/hsa-amdgpu-exprs.s
R llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s
R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
R llvm/test/MC/AMDGPU/hsa-tg-split.s
Log Message:
-----------
Revert "[AMDGPU] MCExpr-ify MC layer kernel descriptor" (#86151)
Reverts llvm/llvm-project#80855
Commit: c8772940ee4d85b1a4578b3faea7c825300ce59f
https://github.com/llvm/llvm-project/commit/c8772940ee4d85b1a4578b3faea7c825300ce59f
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/test/Analysis/inlining/false-positive-suppression.cpp
Log Message:
-----------
[analyzer] Wrap SymbolicRegions by ElementRegions before getting a FieldRegion (#85211)
Inside the ExprEngine when we process the initializers, we create a
PostInitializer program-point, which will refer to the field being
initialized, see `FieldLoc` inside `ExprEngine::ProcessInitializer`.
When a constructor (of which we evaluate the initializer-list) is
analyzed in top-level context, then the `this` pointer will be
represented by a `SymbolicRegion`, (as it should be).
This means that we will form a `FieldRegion{SymbolicRegion{.}}` as the
initialized region.
```c++
class Bear {
public:
void brum() const;
};
class Door {
public:
// PostInitializer would refer to "FieldRegion{SymRegion{this}}"
// whereas in the store and everywhere else it would be:
// "FieldRegion{ELementRegion{SymRegion{Ty*, this}, 0, Ty}".
Door() : ptr(nullptr) {
ptr->brum(); // Bug
}
private:
Bear* ptr;
};
```
We (as CSA folks) decided to avoid the creation of FieldRegions directly
of symbolic regions in the past:
https://github.com/llvm/llvm-project/commit/f8643a9b31c4029942f67d4534c9139b45173504
---
In this patch, I propose to also canonicalize it as in the mentioned
patch, into this: `FieldRegion{ElementRegion{SymbolicRegion{Ty*, .}, 0,
Ty}`
This would mean that FieldRegions will/should never simply wrap a
SymbolicRegion directly, but rather an ElementRegion that is sitting in
between.
This patch should have practically no observable effects, as the store
(due to the mentioned patch) was made resilient to this issue, but we
use `PostInitializer::getLocationValue()` for an alternative reporting,
where we faced this issue.
Note that in really rare cases it suppresses now dereference bugs, as
demonstrated in the test. It is because in the past we failed to follow
the region of the PostInitializer inside the StoreSiteFinder visitor -
because it was using this code:
```c++
// If this is a post initializer expression, initializing the region, we
// should track the initializer expression.
if (std::optional<PostInitializer> PIP =
Pred->getLocationAs<PostInitializer>()) {
const MemRegion *FieldReg = (const MemRegion *)PIP->getLocationValue();
if (FieldReg == R) {
StoreSite = Pred;
InitE = PIP->getInitializer()->getInit();
}
}
```
Notice that the equality check didn't pass for the regions I'm
canonicalizing in this patch.
Given the nature of this change, we would rather upstream this patch.
CPP-4954
Commit: 86d479fd7c837e97be116ffb9e4c92812b87360f
https://github.com/llvm/llvm-project/commit/86d479fd7c837e97be116ffb9e4c92812b87360f
Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
Log Message:
-----------
Adapted MemRegion::getDescriptiveName to handle ElementRegions (#85104)
Fixes https://github.com/llvm/llvm-project/issues/84463
Changes:
- Adapted MemRegion::getDescriptiveName
- Added unittest to check name for a given clang::ento::ElementRegion
- Some format changes due to clang-format
---------
Co-authored-by: Andreas Steinhausen <andreas.steinhausen at concenrio.io>
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: aa571a1e8f03faa311fb135ea4b24b9414db1b74
https://github.com/llvm/llvm-project/commit/aa571a1e8f03faa311fb135ea4b24b9414db1b74
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 797336b1278c
Commit: e84a985cbf4b26c10812e9bd339db9cfd037f581
https://github.com/llvm/llvm-project/commit/e84a985cbf4b26c10812e9bd339db9cfd037f581
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M flang/lib/Lower/ConvertConstant.cpp
A flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
Log Message:
-----------
[Flang] Support for NULL() and procedure in structure constructor for procedure pointer component. (#85991)
This PR fixes a subset of procedure pointer component initialization in
structure constructor.
It covers
1. NULL()
2. procedure
For example:
```
MODULE M
TYPE :: DT
!PROCEDURE(Fun), POINTER, NOPASS :: pp1
PROCEDURE(Fun), POINTER :: pp1
END TYPE
CONTAINS
INTEGER FUNCTION Fun(Arg)
class(dt) :: arg
END FUNCTION
END MODULE
PROGRAM MAIN
USE M
IMPLICIT NONE
TYPE (DT), PARAMETER :: v1 = DT(NULL())
TYPE (DT) :: v2
v2 = DT(fun)
END
```
Passing a procedure pointer itself or reference to a function that
returns a procedure pointer is TODO.
Commit: 3218570620a320573dfd3315da8277600a010bc1
https://github.com/llvm/llvm-project/commit/3218570620a320573dfd3315da8277600a010bc1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/oddshuffles.ll
Log Message:
-----------
[X86] Add shuffle test case for Issue #86068
Commit: aa7f8200ac29823e6c662d1f41763c2509514161
https://github.com/llvm/llvm-project/commit/aa7f8200ac29823e6c662d1f41763c2509514161
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
Log Message:
-----------
[IR] Add helpers for `NUWAddLike` and `NSWAddLike` to also match `or disjoint`; NFC
`or disjoint` implies `add nuw nsw`: https://alive2.llvm.org/ce/z/VABhDA
Commit: ac13e5c0f698c1e3f759e622d2d3cf36ab3b77f3
https://github.com/llvm/llvm-project/commit/ac13e5c0f698c1e3f759e622d2d3cf36ab3b77f3
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/sadd-with-overflow.ll
M llvm/test/Transforms/InstCombine/shift-add.ll
M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll
Log Message:
-----------
[InstCombine] Add tests for integrating `N{U,S}WAddLike`; NFC
Commit: b3ee127e7dead25fa284b26d2c5a067671d0e896
https://github.com/llvm/llvm-project/commit/b3ee127e7dead25fa284b26d2c5a067671d0e896
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/sadd-with-overflow.ll
M llvm/test/Transforms/InstCombine/shift-add.ll
M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll
Log Message:
-----------
[InstCombine] integrate `N{U,S}WAddLike` into existing folds
Just went a quick replacement of `N{U,S}WAdd` with the `Like` variant
that old matches `or disjoint`
Closes #86082
Commit: 796efa8cd5800a42eb8362564be64f3d72512a05
https://github.com/llvm/llvm-project/commit/796efa8cd5800a42eb8362564be64f3d72512a05
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/Float2Int.cpp
Log Message:
-----------
[Float2Int] Fix pessimization in the MinBW calculation. (#86051)
The MinBW was being calculated using the significant bits of the upper
and lower bounds. The upper bound is 1 past the last value in the range
so I don't think it should be included. Instead use ConstantRange::getMinSignedBits.
I'm still not sure if the +1 is needed after the getMinSignedBits call.
Commit: f5ef9bd26d531d104f44f9e5b283bd2f80c024be
https://github.com/llvm/llvm-project/commit/f5ef9bd26d531d104f44f9e5b283bd2f80c024be
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/ProfileData/RawMemProfReader.cpp
Log Message:
-----------
[memprof] Call SmallVector::reserve (#86055)
With one raw memprof file I have, NumPCs averages about 41. Given the
default number of inline elements being 8 for SmallVector<uint64_t>,
we should reserve the storage in advance.
Commit: 999d4f840777bf8de26d45947192aa0728edc0fb
https://github.com/llvm/llvm-project/commit/999d4f840777bf8de26d45947192aa0728edc0fb
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Sema/warn-cast-function-type-strict.c
M clang/test/SemaCXX/warn-cast-function-type-strict.cpp
Log Message:
-----------
Split -Wcast-function-type into a separate group (#86131)
We want to add -Wcast-function-type to -Wextra (as done in
1de7e6c8cba27296f3fc16d107822ea0ee856759), but we do not want to add
-Wcast-function-type-strict in at the same time
(https://lab.llvm.org/buildbot/#/builders/57/builds/33601/steps/5/logs/stdio).
This moves the existing warning to a new group
(-Wcast-function-type-mismatch), puts the new group under the existing
-Wcast-function-type warning group, and adds
-Wcast-function-type-mismatch to -Wextra.
Commit: 3fefeafa49299ef924414bfa1b678e0f656b3618
https://github.com/llvm/llvm-project/commit/3fefeafa49299ef924414bfa1b678e0f656b3618
Author: dmaclach <dmaclach at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/lib/Sema/SemaType.cpp
A clang/test/SemaObjC/attr-objc-NSObject.m
Log Message:
-----------
[OBJC] Allow __attribute__((NSObject)) types be used as lightweight generic specifiers (#84593)
As per
https://clang.llvm.org/docs/AutomaticReferenceCounting.html#retainable-object-pointers,
types with `__attribute__((NSObject))` are retainable, and thus should
be eligible to be used as lightweight generic specifiers.
Fix for #84592 84592
Commit: 22e7e68a40b8b1aac8b44137685d21ac4b98bd17
https://github.com/llvm/llvm-project/commit/22e7e68a40b8b1aac8b44137685d21ac4b98bd17
Author: lorenzo chelini <lchelini at nvidia.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
Log Message:
-----------
[mlir][Affine] Fix unused variable warning (NFC)
Commit: c96b61adc33b9d4ab26e2d0e4bce929b31c48768
https://github.com/llvm/llvm-project/commit/c96b61adc33b9d4ab26e2d0e4bce929b31c48768
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M libc/src/__support/CPP/iterator.h
Log Message:
-----------
[libc] Add reverse_iterator comparisons (#86147)
https://en.cppreference.com/w/cpp/iterator/reverse_iterator/operator_cmp
Commit: 3eb58d15b353534fd42a3a0d1eeb7cd33d128b34
https://github.com/llvm/llvm-project/commit/3eb58d15b353534fd42a3a0d1eeb7cd33d128b34
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M libc/src/__support/CPP/iterator.h
Log Message:
-----------
Revert "[libc] Add reverse_iterator comparisons" (#86186)
Reverts llvm/llvm-project#86147
Commit: 536cb1fad3ea3edaba8264992c8de2f4b07abc84
https://github.com/llvm/llvm-project/commit/536cb1fad3ea3edaba8264992c8de2f4b07abc84
Author: Michele Scandale <michele.scandale at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/shuffle_select-inseltpoison.ll
M llvm/test/Transforms/InstCombine/shuffle_select.ll
Log Message:
-----------
[InstCombine] Fix for folding select-like `shufflevector` into floating point binary operators. (#85452)
Folding a select-like `shufflevector` into a floating point binary
operators can only be done if the result is preserved for both case. In
particular, if the common operand of the `shufflevector` and the
floating point binary operator can be a NaN, then the transformation
won't preserve the result value.
Commit: 85ccfb5ed5389a5fb2d58eab12a9266e7ea064ce
https://github.com/llvm/llvm-project/commit/85ccfb5ed5389a5fb2d58eab12a9266e7ea064ce
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
Log Message:
-----------
[HWASan] [NFC] pull logic to get sanitizer ptr out of hwasan (#86024)
Also some drive by cleanup removing an unnnecessary argument and a
redundant condition.
Commit: 6d939a6ec69adf284cdbef2034b49fd02ba503fc
https://github.com/llvm/llvm-project/commit/6d939a6ec69adf284cdbef2034b49fd02ba503fc
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
A lldb/test/API/debuginfod/Normal/Makefile
A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
A lldb/test/API/debuginfod/Normal/main.c
A lldb/test/API/debuginfod/SplitDWARF/Makefile
A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
A lldb/test/API/debuginfod/SplitDWARF/main.c
Log Message:
-----------
DebugInfoD tests + fixing issues exposed by tests (#85693)
Finally getting back to Debuginfod tests:
I've migrated the tests in my [earlier
PR](https://github.com/llvm/llvm-project/pull/79181) from shell to API
(at @JDevlieghere's suggestion) and addressed a couple issues that came
about during testing.
The tests first test the "normal" situation (no DebugInfoD involvement,
just normal debug files sitting around), then the "no debug info"
situation (to make sure the test is seeing failure properly), then it
tests to validate that when Debuginfod returns the symbols, things work
properly. This is duplicated for DWP/split-dwarf scenarios.
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: 2ab106cbd428984df3dda2f6983d5f956917cb69
https://github.com/llvm/llvm-project/commit/2ab106cbd428984df3dda2f6983d5f956917cb69
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Convert processTODO and remove unused objects (#81627)
Remove `ClauseIterator2` and `clauses2` from ClauseProcessor.
[Clause representation 5/6]
Commit: 6b1cf0040059c407264d2609403c4fc090673167
https://github.com/llvm/llvm-project/commit/6b1cf0040059c407264d2609403c4fc090673167
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M bolt/include/bolt/Core/MCPlus.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/X86/linux-static-keys.s
Log Message:
-----------
[BOLT] Add support for Linux kernel static keys jump table (#86090)
Runtime code modification used by static keys is the most ubiquitous
self-modifying feature of the Linux kernel. The idea is to to eliminate
the condition check and associated conditional jump on a hot path if
that condition (based on a boolean value of a static key) does not
change often. Whenever they condition changes, the kernel runtime
modifies all code paths associated with that key flipping the code
between nop and (unconditional) jump.
Commit: 70a9c527b8c9857fb63a87b2d2025bf9defea7f2
https://github.com/llvm/llvm-project/commit/70a9c527b8c9857fb63a87b2d2025bf9defea7f2
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] Fix bazel build (#86190)
Follow up on #86140
Commit: 628068113710d501e88b63a1506d66dd20ce7e94
https://github.com/llvm/llvm-project/commit/628068113710d501e88b63a1506d66dd20ce7e94
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/X86/Inputs/blarge_new.preagg.txt
A bolt/test/X86/Inputs/blarge_new.yaml
A bolt/test/X86/Inputs/blarge_new_bat.preagg.txt
A bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Output basic YAML profile in BAT mode
Relax assumptions that YAML output is not supported in BAT mode.
Set up basic infrastructure for emitting YAML for functions not covered
by BAT, such as from `.bolt.org.text` section (code identical to input binary
sans external refs), or non-rewritten functions in non-relocation mode (where
the function stays in the same section but BAT mapping is not emitted).
This diff only produces YAML profile for non-BAT functions (skipped,
non-simple). YAML profile for BAT functions is added in follow-up diffs:
- https://github.com/llvm/llvm-project/pull/76911 emits YAML profile with
internal control flow information only (branch profile),
- https://github.com/llvm/llvm-project/pull/76896 adds cross-function profile
(calls profile).
Test Plan: Added bolt/test/X86/bolt-address-translation-yaml.test
Reviewers: ayermolo, dcci, maksfb, rafaelauler
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/76910
Commit: cde54df39cab3a1d60a3e1862ab341609bee3cc3
https://github.com/llvm/llvm-project/commit/cde54df39cab3a1d60a3e1862ab341609bee3cc3
Author: Cooper Partin <coopp at microsoft.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/MC/DXContainerPSVInfo.h
M llvm/include/llvm/MC/StringTableBuilder.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerPSVInfo.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
A llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
Log Message:
-----------
Add support for PSV EntryFunctionName (#84409)
This change introduces a version 3 of the PSV data that includes support
for the name of the entry function as an offset into StringTable data to
a null-terminated utf-8 string.
Additional tests were added to ensure that the new value was properly
serialized/deserialized from object data.
Fixes #80175
---------
Co-authored-by: Cooper Partin <coopp at ntdev.microsoft.com>
Commit: b19bf3e888f95c35bf641cd0eee18a8da702f6fe
https://github.com/llvm/llvm-project/commit/b19bf3e888f95c35bf641cd0eee18a8da702f6fe
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/unsupported-option-gpu.c
Log Message:
-----------
[clang][SPIRV] Don't warn on -mcmodel (#86039)
The code model doesn't affect the sub-compilation, so don't check it.
Followup to #70740.
Commit: b609a4d7ea8b716f5f0ec83d10945362f42e730d
https://github.com/llvm/llvm-project/commit/b609a4d7ea8b716f5f0ec83d10945362f42e730d
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/SyntheticSections.cpp
Log Message:
-----------
[lld-macho][NFC] Refactor insertions into inputSections (#85692)
Before this change, after `InputSection` objects are created, they need
to be added to the appropriate container for tracking.
The logic for selecting the appropriate container lives in `Driver.cpp`
/ `gatherInputSections`, where the `InputSection` is added to the
matching container depending on the input config and the type of
`InputSection`.
Also, multiple other locations also insert directly into `inputSections`
array - assuming that that is the appropriate container for the
`InputSection`'s they create. Currently this is the correct assumption,
however an upcoming feature will change this.
For an upcoming feature (relative method lists), we need to route
`InputSection`'s either to `inputSections` array or to a synthetic
section, depending on weather the relative method list optimization is
enabled or not.
We can achieve the above either by duplicating some of the logic or
refactoring the routing and `InputSection`'s and reusing that.
The refactoring & code sharing approach seems the correct way to go - as
such this diff performs the refactoring while not introducing any
functional changes. Later on we can just call `addInputSection` and not
have to worry about routing logic.
---------
Commit: e4a672ef85f76c3402b81640e1e83e5d3069d1b9
https://github.com/llvm/llvm-project/commit/e4a672ef85f76c3402b81640e1e83e5d3069d1b9
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld][macho] Fix gcc category merging warning (#86091)
Fixing gcc warning regarding creating non-null-terminated string:
```
../../lld/MachO/ObjC.cpp:1226:10: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
1226 | strncpy(strData, str, len);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
../../lld/MachO/ObjC.cpp: In member function 'void {anonymous}::ObjcCategoryMerger::emitAndLinkPointerList(lld::macho::Defined*, uint32_t, const {anonymous}::ObjcCategoryMerger::ClassExtensionInfo&, const {anonymous}::ObjcCategoryMerger::PointerListInfo&)':
../../lld/MachO/ObjC.cpp:1223:24: note: length computed here
1223 | uint32_t len = strlen(str);
| ~~~~~~^~~~~
```
This is not actually a bug, as `newSectionData` returns a
zero-initialized memory region, so the null terminator will be there.
Commit: e470ca89ba77b2f200ff3a8ad65c74028f42c5f7
https://github.com/llvm/llvm-project/commit/e470ca89ba77b2f200ff3a8ad65c74028f42c5f7
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/test/InstallAPI/diagnostics-cpp.test
A clang/test/InstallAPI/linker-symbols.test
A clang/test/InstallAPI/mismatching-objc-class-symbols.test
A clang/test/InstallAPI/symbol-flags.test
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
Log Message:
-----------
[InstallAPI] Report exports discovered in binary but not in interface (#86025)
This patch completes the classes of errors installapi can detect.
Commit: b8e53630f899ddb8a2ec0d37bcb86608d58c4960
https://github.com/llvm/llvm-project/commit/b8e53630f899ddb8a2ec0d37bcb86608d58c4960
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
Log Message:
-----------
[compiler-rt] Avoid pulling in __cxa_pure_virtual
When building optimized versions of the runtime libraries the compiler
is generally able to elide these references, but when building them
for maximum debug info (with -O0), these references remain which causes
the test suite to fail for tests that do not pull in the C++ standard
library.
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/84613
Commit: c56211b2430cf63ba3a469a4ae89cf2e829e9332
https://github.com/llvm/llvm-project/commit/c56211b2430cf63ba3a469a4ae89cf2e829e9332
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
Log Message:
-----------
[libc] Make math-macros.h C++-friendly (#86206)
The isfinite, isnan, and isinf "functions" are specified by C99..C23 to
be macros that act as type-generic functions. Defining them as their
__builtin_* counterparts works fine for this. However, in C++ the
identifiers need to be usable in different contexts, such as being
declared inside a C++ namespace. So define inline constexpr template
functions for them under `#ifdef __cplusplus`.
Commit: 00f3454bbe04ae8cf0eeda981c439e7f97390bd4
https://github.com/llvm/llvm-project/commit/00f3454bbe04ae8cf0eeda981c439e7f97390bd4
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M flang/runtime/CMakeLists.txt
A flang/runtime/external-unit.cpp
M flang/runtime/io-stmt.cpp
M flang/runtime/lock.h
A flang/runtime/pseudo-unit.cpp
M flang/runtime/tools.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
Log Message:
-----------
[flang][runtime] Added pseudo file unit for simplified PRINT. (#86134)
A file unit is emulated via a temporary buffer that accumulates
the output, which is printed out via std::printf at the end
of the IO statement. This implementation will be used for the offload
devices.
Commit: 6f9297fc4da9df776aef7ee9a18ac426053aaed4
https://github.com/llvm/llvm-project/commit/6f9297fc4da9df776aef7ee9a18ac426053aaed4
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
M compiler-rt/lib/msan/tests/CMakeLists.txt
M compiler-rt/lib/tsan/tests/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Fix build race with COMPILER_RT_TEST_STANDALONE_BUILD_LIBS
Since this standalone build configuration uses the runtime libraries that
are being built just now, we need to ensure that e.g. the TSan unit tests
depend on the tsan runtime library. Also fix TSAN_DEPS being overridden
to not include the tsan runtime (commit .....).
This change fixes a build race seen in the CI checks for
TsanRtlTest-x86_64-Test in https://github.com/llvm/llvm-project/pull/83088.
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/83650
Commit: 8d1affb87181b9636b87e04a245bcde06f8a7d47
https://github.com/llvm/llvm-project/commit/8d1affb87181b9636b87e04a245bcde06f8a7d47
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
Update @dcaballe in CODEOWNERS (#86177)
It fixes a few rules that don't seem to be working and adding myself to a few paths where I've been contributing and can offer my review. Also minor sorting changes.
Commit: 1538b82fd395a2fba90842b8a8010b8dcc919499
https://github.com/llvm/llvm-project/commit/1538b82fd395a2fba90842b8a8010b8dcc919499
Author: Cooper Partin <coopp at microsoft.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/MC/DXContainerPSVInfo.h
M llvm/include/llvm/MC/StringTableBuilder.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerPSVInfo.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
R llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
R llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
Log Message:
-----------
Revert "Add support for PSV EntryFunctionName (#84409)" (#86211)
This reverts commit cde54df39cab3a1d60a3e1862ab341609bee3cc3.
Co-authored-by: Cooper Partin <coopp at ntdev.microsoft.com>
Commit: dc74bf7a5412df82223f7062d9a6b814abbfca45
https://github.com/llvm/llvm-project/commit/dc74bf7a5412df82223f7062d9a6b814abbfca45
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
Add myself as codeowner for InstallAPI & TextAPI
Commit: 06d245242e3e24cd4558f545fb5ceba0582c4f03
https://github.com/llvm/llvm-project/commit/06d245242e3e24cd4558f545fb5ceba0582c4f03
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
Log Message:
-----------
[RISCV] Recursively split concat_vector into smaller LMULs when lowering (#85825)
This is a reimplementation of the combine added in #83035 but as a
lowering instead of a combine, so we don't regress the test case added
in e59f120e3a14ccdc55fcb7be996efaa768daabe0 by interfering with the
strided load combine
Previously the combine had to concatenate the split vectors with
insert_subvector instead of concat_vectors to prevent an infinite
combine loop. And the reasoning behind keeping it as a combine was
because if we emitted the insert_subvector during lowering then we
didn't fold away inserts of undef subvectors.
However it turns out we can avoid this if we just do this in lowering
and select a concat_vector directly, since we get the undef folding for
free with `DAG.getNode(ISD::CONCAT_VECTOR, ...)` via foldCONCAT_VECTORS.
Commit: 51d5b6581912c8495360a09a0e6be978e0374d90
https://github.com/llvm/llvm-project/commit/51d5b6581912c8495360a09a0e6be978e0374d90
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsub-sdnode.ll
Log Message:
-----------
[RISCV] Handle scalable ops with < EEW / 2 narrow types in combineBinOp_VLToVWBinOp_VL (#84158)
We can remove the restriction that the narrow type needs to be exactly
EEW / 2 for scalable ISD::{ADD,SUB,MUL} nodes. This allows us to perform
the combine even if we can't fully fold the extend into the widening op.
VP intrinsics already do this, since they are lowered to _VL nodes which
don't have this restriction.
The "exactly EEW / 2" narrow type restriction prevented us from emitting
V{S,Z}EXT_VL nodes with i1 element types which crash when we try to
select them, since no other legal type is double the size of i1, see the
test case added in this PR `i1_zext`. So to preserve this, this adds a
check for i1 narrow types instead.
Commit: d22cf4365ca58ccf1db21341d63ac49921f1c47a
https://github.com/llvm/llvm-project/commit/d22cf4365ca58ccf1db21341d63ac49921f1c47a
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/tools/CMakeLists.txt
Log Message:
-----------
[cmake] Place clang behind mlir in the liist of external projects
In preparation for the initial ClangIR upstreaming process, move clang
behind MLIR in the list of external projects. Otherwise, cmake will
attempt to build clang before MLIR.
reland of https://github.com/llvm/llvm-project/pull/86050
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/86210
Commit: e66b670f3bf9312f696e66c31152ae535207d6bb
https://github.com/llvm/llvm-project/commit/e66b670f3bf9312f696e66c31152ae535207d6bb
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Driver/Types.def
M clang/lib/Basic/LangStandards.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/FrontendOptions.cpp
Log Message:
-----------
[CIR][Basic][NFC] Add the CIR language to the Language enum
Add the CIR language to the Language enum and the standard usages of it.
commit-id:fd12b2c2
Reviewers: bcardosolopes, AaronBallman, erichkeane
Reviewed By: AaronBallman, bcardosolopes
Pull Request: https://github.com/llvm/llvm-project/pull/86072
Commit: 3942bd2fb56380aa050977dc6aede011e191d9b0
https://github.com/llvm/llvm-project/commit/3942bd2fb56380aa050977dc6aede011e191d9b0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll
Log Message:
-----------
[SLP]Fix a crash if the argument of call was affected by minbitwidt
analysis.
Need to support proper type conversion for function arguments to avoid
compiler crash.
Commit: 7564566779eb07e9daf41a351b09cf7607871845
https://github.com/llvm/llvm-project/commit/7564566779eb07e9daf41a351b09cf7607871845
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-wrong-stack-id.mir
M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
M llvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
M llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
M llvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
M llvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
M llvm/test/CodeGen/SystemZ/int-cmp-56.mir
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
M llvm/test/CodeGen/X86/callbr-asm-kill.mir
M llvm/test/CodeGen/X86/late-remat-update.mir
M llvm/test/CodeGen/X86/limit-split-cost.mir
M llvm/test/CodeGen/X86/regalloc-copy-hints.mir
M llvm/test/CodeGen/X86/statepoint-fastregalloc.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-hoist-copies.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
M llvm/test/CodeGen/X86/statepoint-vreg-folding.mir
M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-folding-tieddef.mir
M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-load-folding.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-coalesce-subreg.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced2.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-regallocd-to-stack.mir
M llvm/test/DebugInfo/MIR/InstrRef/phi-through-regalloc.mir
M llvm/test/DebugInfo/MIR/InstrRef/stack-coloring-dbg-phi.mir
M llvm/test/DebugInfo/MIR/InstrRef/survives-livedebugvars.mir
M llvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg-debugonly.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvars-crossbb-interval.mir
M llvm/test/DebugInfo/X86/live-debug-vars-intervals.mir
A llvm/test/MachineVerifier/test_adjustsstack.mir
Log Message:
-----------
Reapply "Move assertion for AdjustsStack from PEI to MachineVerifier (#85698)"
- The check is now actually done in both PEI and the MachineVerifier.
- More .mir tests trivially updated with "adjustsStack: true" as needed.
Commit: 8cb2d436ca50117026a8dc901c8039d9bd39b507
https://github.com/llvm/llvm-project/commit/8cb2d436ca50117026a8dc901c8039d9bd39b507
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[Passes] Expose parseSinglePassOption (#86117)
BPF and some machine function passes need it.
Commit: a2dfc9ac7da23ccf0077081c8825a23aed1df0c0
https://github.com/llvm/llvm-project/commit/a2dfc9ac7da23ccf0077081c8825a23aed1df0c0
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan_fp.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
Log Message:
-----------
[NewPM][AMDGPU] Add AMDGPUPassRegistry.def (#86095)
Move the pass registry to a separate file, prepare for porting dag-isel.
Commit: 3e4caa9da4356247444e973eb470a25adae083b0
https://github.com/llvm/llvm-project/commit/3e4caa9da4356247444e973eb470a25adae083b0
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/test/CodeGen/X86/apx/domain-reassignment.mir
Log Message:
-----------
[X86] Support DomainReassignment for APX NDD instructions (#85737)
Commit: 8d7d581ad2a96ebe54aed0e5a626048d2e2a8d2d
https://github.com/llvm/llvm-project/commit/8d7d581ad2a96ebe54aed0e5a626048d2e2a8d2d
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
Revert "[Passes] Expose parseSinglePassOption" (#86225)
Reverts llvm/llvm-project#86117
Commit: 718fbbef5f18a2b7e7fc4f842b1452ae9bee581a
https://github.com/llvm/llvm-project/commit/718fbbef5f18a2b7e7fc4f842b1452ae9bee581a
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
[llvm-exegesis] Kill process that recieve a signal (#86069)
Before this patch, llvm-exegesis would leave processes lingering that
experienced signals like segmentation faults. They would up in a
signal-delivery-stop state under the ptrace and never exit. This does
not cause problems (or at least many) in llvm-exegesis as they are
cleaned up after the main process exits, which usually happens quickly.
However, in downstream use, when many blocks are being executed (many of
which run into signals) within a single process, these processes stay
around and can easily exhaust the process limit on some systems.
This patch cleans them up by sending SIGKILL after information about the
signal that was sent has been gathered.
Commit: 4d7f28a2c4b187f0bef3877081100786156defc7
https://github.com/llvm/llvm-project/commit/4d7f28a2c4b187f0bef3877081100786156defc7
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[Passes] Expose parseSinglePassOption (#86226)
Reland #86225, adjust the name space.
Commit: 40beb9b001a3c67c60b98fae9e999dcaa2d88717
https://github.com/llvm/llvm-project/commit/40beb9b001a3c67c60b98fae9e999dcaa2d88717
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb] Handle clang::Language::CIR (#86234)
commit e66b670f3bf9312f696e66c31152ae535207d6bb
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: Thu Mar 21 19:53:48 2024 -0400
triggers:
lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:478:16:
error: enumeration value 'CIR' not handled in switch
[-Werror,-Wswitch]
This patch teaches lldb to handle clang::Language::CIR the same way as
clang::Language::LLVM_IR.
Commit: 4865dab04cad1c5ce47468b0a52ea968e5a5503b
https://github.com/llvm/llvm-project/commit/4865dab04cad1c5ce47468b0a52ea968e5a5503b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT] Fix unused variable warnings
This patch fixes:
bolt/lib/Rewrite/LinuxKernelRewriter.cpp:1664:20: error: unused
variable 'TargetAddress' [-Werror,-Wunused-variable]
bolt/lib/Rewrite/LinuxKernelRewriter.cpp:1666:20: error: unused
variable 'KeyAddress' [-Werror,-Wunused-variable]
Commit: c67ed2f1e12e1b0e16b25606e67b67a47ca848d5
https://github.com/llvm/llvm-project/commit/c67ed2f1e12e1b0e16b25606e67b67a47ca848d5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
Log Message:
-----------
[SelectionDAG][RISCV] Use TypeSize version of ComputeValueVTs in TargetLowering::LowerCallTo. (#86166)
This is needed to support non-intrinsic functions returning tuple types
which are represented as structs with scalable vector types in IR.
I suspect this may have been broken since
https://reviews.llvm.org/D158115
Commit: e1a8120a63cdb6c9567b0f68d9a0390e4f5da184
https://github.com/llvm/llvm-project/commit/e1a8120a63cdb6c9567b0f68d9a0390e4f5da184
Author: Pravin Jagtap <prjagtap at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
Log Message:
-----------
[AMDGPU] Support double type in atomic optimizer. (#84307)
Presently the atomic optimizer supports only 32-bit operations. Plan is
to extend the atomic optimizer for 64-bit operations for compute and
graphics. This patch extends support for double type for `uniform
values` only. Going forward, will extend the support for divergent
values. Adding support for divergent values requires
extending/legalizing readfirstlane, readlane, writelane, etc ops for
64-bit operations to avoid `bitcast` noise that we have currently.
---------
Authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>
Commit: 4e165dd5ab7f7c022e23b645cd8f4676b03a9ec4
https://github.com/llvm/llvm-project/commit/4e165dd5ab7f7c022e23b645cd8f4676b03a9ec4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-21 (Thu, 21 Mar 2024)
Changed paths:
M llvm/utils/TableGen/InfoByHwMode.cpp
M llvm/utils/TableGen/InfoByHwMode.h
Log Message:
-----------
[TableGen] Remove unused CodeGenHwModes argument from RegSizeInfo constructor. NFC
Commit: 90454a609894ab278a87be2b9f5c49714caba8df
https://github.com/llvm/llvm-project/commit/90454a609894ab278a87be2b9f5c49714caba8df
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
A llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect-explicitsect.ll
Log Message:
-----------
[PowerPC][AIX] support explicit sections for -ffunction-sections (#85351)
Fix crashes in https://godbolt.org/z/6voEa1o6Y
Commit: 0289ae51aa375fd297f1d03d27ff517223e5e998
https://github.com/llvm/llvm-project/commit/0289ae51aa375fd297f1d03d27ff517223e5e998
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/TypeConsistency.h
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/test/Dialect/LLVMIR/sroa.mlir
M mlir/test/Dialect/LLVMIR/type-consistency.mlir
Log Message:
-----------
[MLIR][LLVM][SROA] Support incorrectly typed memory accesses (#85813)
This commit relaxes the assumption of type consistency for LLVM dialect
load and store operations in SROA. Instead, there is now a check that
loads and stores are in the bounds specified by the sub-slot they
access.
This commit additionally removes the corresponding patterns from the
type consistency pass, as they are no longer necessary.
Note: It will be necessary to extend Mem2Reg with the logic for
differently sized accesses as well. This is non-the-less a strict
upgrade for productive flows, as the type consistency pass can produce
invalid IR for some odd cases.
Commit: c5f839bd58e7f888acc4cb39a18e9e5bbaa9fb0a
https://github.com/llvm/llvm-project/commit/c5f839bd58e7f888acc4cb39a18e9e5bbaa9fb0a
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/__support/CPP/iterator.h
Log Message:
-----------
[reland][libc] Add reverse_iterator comparisons (#86188)
This is a reland of #86147 but with a proper `base()` function.
https://en.cppreference.com/w/cpp/iterator/reverse_iterator/operator_cmp
Commit: 5f1b2cffe5fab0aa733fc8d5f1546c1c800faac4
https://github.com/llvm/llvm-project/commit/5f1b2cffe5fab0aa733fc8d5f1546c1c800faac4
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
Log Message:
-----------
[mlir][vector] Add support for masks in castAwayContractionLeadingOneDim (#81906)
Updates `castAwayContractionLeadingOneDim` to inherit from
`MaskableOpRewritePattern` so that this pattern can support masking.
Builds on top of #83827
Commit: 99d8c25b3104fc07f46532bd681515c5f3c71133
https://github.com/llvm/llvm-project/commit/99d8c25b3104fc07f46532bd681515c5f3c71133
Author: David Green <david.green at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/insert-subvector.ll
Log Message:
-----------
[AArch64] Extra tests for v2i8 concat loads. NFC
Commit: 465ea0bfa69aa48afef58666b084467a1c96c81b
https://github.com/llvm/llvm-project/commit/465ea0bfa69aa48afef58666b084467a1c96c81b
Author: Crefeda Rodrigues <65665931+cfRod at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[mlir][vector] Propagate scalability in TransferWriteNonPermutationLowering (#85632)
Updates `extendVectorRank` so that scalability in patterns
that use it (in particular, `TransferWriteNonPermutationLowering`),
is correctly propagated.
Closed related previous PR
https://github.com/llvm/llvm-project/pull/85270
---------
Signed-off-by: Crefeda Rodrigues <crefeda.rodrigues at arm.com>
Co-authored-by: Benjamin Maxwell <macdue at dueutil.tech>
Commit: de7a50fb88faa1dafee33f10149561936214062b
https://github.com/llvm/llvm-project/commit/de7a50fb88faa1dafee33f10149561936214062b
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/cray-pointer.f90
Log Message:
-----------
[flang] Fix lowering of host associated cray pointee symbols (#86121)
Cray pointee symbols can be host associated from a module or host
procedure while the related cray pointer is not explicitly associated.
This caused the "not yet implemented: lowering symbol to HLFIR" to fire
when lowering a reference to the cray pointee and fetching the cray
pointer.
This patch:
- Ensures cray pointers are always instantiated when instantiating a
cray pointee.
- Fix internal procedure lowering to deal with cray pointee host
association like it does for pointers (the lowering strategy for cray
pointee is to create a pointer that is updated with the cray pointer
value before being fetched).
This should fix the bug reported in
https://github.com/llvm/llvm-project/issues/85420.
Commit: 66f88de80599ec4461b0fdac3d1e396b6e83052d
https://github.com/llvm/llvm-project/commit/66f88de80599ec4461b0fdac3d1e396b6e83052d
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
A clang/test/Driver/riscv-profiles.c
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Support RISC-V Profiles in -march option (#76357)
This PR implements the draft
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/36.
Currently, we replace specified profile in `-march` with standard
arch string.
Commit: cb4453dc69d75064c9a82e9a6a9bf0d0ded4b204
https://github.com/llvm/llvm-project/commit/cb4453dc69d75064c9a82e9a6a9bf0d0ded4b204
Author: XChy <xxs_chy at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/addcarry.ll
Log Message:
-----------
[SelectionDAG] Prevent combination on inconsistent type in `combineCarryDiamond` (#84888)
Fixes #84831
When matching carry pattern with `getAsCarry`, it may produce different
type of carryout. This patch checks such case and does early exit.
I'm new to DAG, any suggestion is appreciated.
Commit: 6e755c51a916dc521ffe89738bcab47a5442ad06
https://github.com/llvm/llvm-project/commit/6e755c51a916dc521ffe89738bcab47a5442ad06
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
R clang/test/Driver/riscv-profiles.c
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
Revert "[RISCV] Support RISC-V Profiles in -march option (#76357)"
This reverts commit 66f88de80599ec4461b0fdac3d1e396b6e83052d as
there are some failures.
Commit: a62441d4bb6bd0cd8eccab8c5692340c5a2c60bb
https://github.com/llvm/llvm-project/commit/a62441d4bb6bd0cd8eccab8c5692340c5a2c60bb
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
Log Message:
-----------
[clang][analyzer][NFC] UnixAPIMisuseChecker inherits from Checker<check::PreCall> (#83027)
Commit: 730ca47a0cc7380def6df1d25b30c1378fd8bf14
https://github.com/llvm/llvm-project/commit/730ca47a0cc7380def6df1d25b30c1378fd8bf14
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
A clang/test/Analysis/getline-unixapi.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Model getline/getdelim preconditions and evaluation (#83027)
According to POSIX 2018.
1. lineptr, n and stream can not be NULL.
2. If *n is non-zero, *lineptr must point to a region of at least *n
bytes, or be a NULL pointer.
Additionally, if *lineptr is not NULL, *n must not be undefined.
Commit: d8e5c0b4e546c73b2d10956a9517f1f2727702ae
https://github.com/llvm/llvm-project/commit/d8e5c0b4e546c73b2d10956a9517f1f2727702ae
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/abs-vec.ll
A llvm/test/CodeGen/DirectX/abs.ll
A llvm/test/CodeGen/DirectX/fabs.ll
Log Message:
-----------
[DXIL] Complete abs lowering (#86158)
This change completes #86155
- `DXIL.td` - lowering `fabs` intrinsic to the float dxil op.
- `DXILIntrinsicExpansion.cpp` - Add intrinsic expansion for the abs
case.
Commit: 79c32eb03d9ee4dd0a913c4130bc87c5e8ce7908
https://github.com/llvm/llvm-project/commit/79c32eb03d9ee4dd0a913c4130bc87c5e8ce7908
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
A llvm/test/CodeGen/DirectX/cos.ll
A llvm/test/CodeGen/DirectX/cos_error.ll
A llvm/test/CodeGen/DirectX/floor.ll
A llvm/test/CodeGen/DirectX/floor_error.ll
Log Message:
-----------
[DXIL] Add lowerings for cosine and floor (#86173)
Completes #86170
Completes #86172
- `DXIL.td` - Add changes to lower the cosine and floor intrinsics to
dxilOps.
Commit: db33444ffa7e210e7040d8def958a14171f52eef
https://github.com/llvm/llvm-project/commit/db33444ffa7e210e7040d8def958a14171f52eef
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
CODEOWNERS: extend scope of MLIR transform dialect
There are a bunch of related directories in another dialects.
Commit: e925968e7815ac3810fdb54bb884b8a8bed02eb5
https://github.com/llvm/llvm-project/commit/e925968e7815ac3810fdb54bb884b8a8bed02eb5
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
A clang/test/Analysis/cxx23-static-operator.cpp
Log Message:
-----------
[analyzer] Support C++23 static operator calls (#84972)
Made by following:
https://github.com/llvm/llvm-project/pull/83585#issuecomment-1980340866
Thanks for the details Tomek!
CPP-5080
Commit: 74c3150ffc86a149abc68acdf8af1eed1ea0f038
https://github.com/llvm/llvm-project/commit/74c3150ffc86a149abc68acdf8af1eed1ea0f038
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
Log Message:
-----------
[X86] Add shuffle tests from Issue #86076
SLP should be doing a better job, but both shuffles lower to poorer codegen than necessary
Commit: ceabaa7e7a2d02b20cbd2b31e8336dedb1d4d9f5
https://github.com/llvm/llvm-project/commit/ceabaa7e7a2d02b20cbd2b31e8336dedb1d4d9f5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Fix some missing formatting when I rewrote the SUB(MAX,MIN) -> ABD patterns. NFC.
Commit: c41286af3f30e099556c6edbef0001466afaefcb
https://github.com/llvm/llvm-project/commit/c41286af3f30e099556c6edbef0001466afaefcb
Author: Pablo Antonio Martinez <pablo.antonio.martinez at huawei.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/test/Dialect/Linalg/tile-to-forall.mlir
Log Message:
-----------
[mlir][linalg] Emit a warning when tile_using_forall generates non thread-safe code (#80813)
**Description**
The documentation of `transform.structured.tile_using_forall` says:
_"It is the user’s responsibility to ensure that num_threads/tile_sizes
is a valid tiling specification (i.e. that only tiles parallel
dimensions, e.g. in the Linalg case)."_
In other words, tiling a non-parallel dimension would generate code with
data races which is not safe to parallelize. For example, consider this
example (included in the tests in this PR):
```
func.func @tile_thread_safety2(%arg0: tensor<100x300x8xf32>, %arg1: tensor<300x8xf32>) -> tensor<300x8xf32> {
%0 = scf.forall (%arg2) in (8) shared_outs(%arg3 = %arg1) -> (tensor<300x8xf32>) {
%1 = affine.min #map(%arg2)
%2 = affine.max #map1(%1)
%3 = affine.apply #map2(%arg2)
%extracted_slice = tensor.extract_slice %arg0[%3, 0, 0] [%2, 300, 8] [1, 1, 1] : tensor<100x300x8xf32> to tensor<?x300x8xf32>
%4 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["reduction", "parallel", "parallel"]} ins(%extracted_slice : tensor<?x300x8xf32>) outs(%arg3 : tensor<300x8xf32>) {
^bb0(%in: f32, %out: f32):
%5 = arith.addf %in, %out : f32
linalg.yield %5 : f32
} -> tensor<300x8xf32>
scf.forall.in_parallel {
tensor.parallel_insert_slice %4 into %arg3[0, 0] [300, 8] [1, 1] : tensor<300x8xf32> into tensor<300x8xf32>
}
}
return %0 : tensor<300x8xf32>
}
```
We can easily see that this is not safe to parallelize because all
threads would be writing to the same position in `%arg3` (in the
`scf.forall.in_parallel`.
This PR detects wether it's safe to `tile_using_forall` and emits a
warning in the case it is not.
**Brief explanation**
It first generates a vector of affine expressions representing the tile
values and stores it in `dimExprs`. These affine expressions are
compared with the affine expressions coming from the results of the
affine map of each output in the linalg op. So going back to the
previous example, the original transform is:
```
#map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
#map1 = affine_map<(d0, d1, d2) -> (d1, d2)>
func.func @tile_thread_safety2(%arg0: tensor<100x300x8xf32>, %arg1: tensor<300x8xf32>) -> tensor<300x8xf32> {
// expected-warning at +1 {{tiling is not thread safe at axis #0}}
%0 = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["reduction", "parallel", "parallel"]} ins(%arg0 : tensor<100x300x8xf32>) outs(%arg1 : tensor<300x8xf32>) {
^bb0(%in: f32, %out: f32):
%1 = arith.addf %in, %out : f32
linalg.yield %1 : f32
} -> tensor<300x8xf32>
return %0 : tensor<300x8xf32>
}
module attributes {transform.with_named_sequence} {
transform.named_sequence @__transform_main(%arg0: !transform.any_op {transform.readonly}) {
%0 = transform.structured.match ops{["linalg.generic"]} in %arg0 : (!transform.any_op) -> !transform.any_op
%forall, %tiled_generic = transform.structured.tile_using_forall %0 num_threads [8]
: (!transform.any_op) -> (!transform.any_op, !transform.any_op)
transform.yield
}
}
```
The `num_threads` attribute would be represented as `(d0)`. Because the
linalg op has only one output (`arg1`) it would only check against the
results of `#map1`, which are `(d1, d2)`. The idea is to check that all
affine expressions in `dimExprs` are present in the output affine map.
In this example, `d0` is not in `(d1, d2)`, so tiling that axis is
considered not thread safe.
Commit: d03f470cbdbae3f86469ea4d79bb54d3ef680512
https://github.com/llvm/llvm-project/commit/d03f470cbdbae3f86469ea4d79bb54d3ef680512
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
[Clang] Make '-frtlib-add-rpath' include the standard library directory (#86217)
Summary:
The original intention of the `openmp-add-rpath` option was to add the
rpath to the language runtime directory. However, the current
implementation only adds it to the compiler's resource directory. This
patch adds support for appending the `-rpath` to the compiler's standard
library directory as well. Currently this is `<exe>/../lib/<triple>`.
Commit: d51f1c442b1dc999267726a33e25b7d019726c89
https://github.com/llvm/llvm-project/commit/d51f1c442b1dc999267726a33e25b7d019726c89
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/DirectX/DXILArchitecture.rst
Log Message:
-----------
[DirectX][Docs] Add DXILIntrinsicExpansion Pass to DXILArchitecture.rst (#86198)
Completes #84839
---------
Co-authored-by: Farzon Lotfi <farzon at farzon.com>
Commit: fe64b26df9429c82f706424dcdae3d65723c3e5e
https://github.com/llvm/llvm-project/commit/fe64b26df9429c82f706424dcdae3d65723c3e5e
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
NFC Rename LoadBitcodeIntoNewDbgInforFormat to LoadBitcodeIntoNewDbgInfoFormat
(drop additional 'r' before Format)
Commit: e1f50fdc03efecb5da39c1df4fc08d2ce5da90e9
https://github.com/llvm/llvm-project/commit/e1f50fdc03efecb5da39c1df4fc08d2ce5da90e9
Author: Ingo Müller <ingomueller at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
Log Message:
-----------
[mlir] Remove unused and untested `shouldSplitInputFile`. (#85622)
This was changed by #84765 but turned out to be buggy. Since it isn't
used and isn't tested, it is probably best to remove it.
Commit: 83da7b6338053ca04cf0afe3c70ef5b8a9f6d300
https://github.com/llvm/llvm-project/commit/83da7b6338053ca04cf0afe3c70ef5b8a9f6d300
Author: Ingo Müller <ingomueller at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/test/mlir-opt/split-markers.mlir
M mlir/test/mlir-pdll/split-markers.pdll
Log Message:
-----------
[mlir] Extend split marker tests of `mlir-opt` and `mlir-pdll`. (#85620)
Recently #84765 made the split markers of various tools configurable but
did not test *not* using the split markers for two of them. This PR adds
those tests.
Commit: 04a6e0f1634f9a53120c27a30250d26dff4ada1c
https://github.com/llvm/llvm-project/commit/04a6e0f1634f9a53120c27a30250d26dff4ada1c
Author: Paul Robinson <paul.robinson at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/xmmintrin.h
Log Message:
-----------
[X86][Headers] change 'yields' to 'returns' in more places
Commit: 31a9a4b83720af79110941824abe28fc6ff42355
https://github.com/llvm/llvm-project/commit/31a9a4b83720af79110941824abe28fc6ff42355
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/tuple
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
Log Message:
-----------
[libc++] Implement LWG3528 (`make_from_tuple` can perform (the equivalent of) a C-style cast) (#85263)
Implement [LWG3528](https://wg21.link/LWG3528).
Based on LWG3528(https://wg21.link/LWG3528) and
http://eel.is/c++draft/description#structure.requirements-9, the
standard allows to impose requirements, we constraint
`std::make_from_tuple` to make `std::make_from_tuple` SFINAE friendly
and also avoid worse diagnostic messages. We still keep the constraints
of `std::__make_from_tuple_impl` so that `std::__make_from_tuple_impl`
will have the same advantages when used alone.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 3b3de48fd84b8269d5f45ee0a9dc6b7448368424
https://github.com/llvm/llvm-project/commit/3b3de48fd84b8269d5f45ee0a9dc6b7448368424
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/unsupported-option-gpu.c
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/SyntheticSections.cpp
Log Message:
-----------
[BOLT] Add BB index to BAT (#86044)
Commit: b3f98dff75469b115e3d4b1f10cbf270c8ee81af
https://github.com/llvm/llvm-project/commit/b3f98dff75469b115e3d4b1f10cbf270c8ee81af
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/LTO/LTO.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
[RemoveDIs] Load into new debug info format by default in llvm-lto and llvm-lto2 (#86271)
Directly load all bitcode into the new debug info format in `llvm-lto`
and `llvm-lto2`. This means that new-mode bitcode no longer round-trips
back to old-mode after parsing, and that old-mode bitcode gets
auto-upgraded to new-mode debug info (which is the current in-memory
default in LLVM).
Commit: a277dd82d89a17849cf99fb335660ea0b8894878
https://github.com/llvm/llvm-project/commit/a277dd82d89a17849cf99fb335660ea0b8894878
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-half-conversions.ll
Log Message:
-----------
[X86] vector-half-conversions.ll - add v4f16->v4i32 fptosi/fptoui test coverage
Commit: f82d0187a7e581d4f8f825021dbcb08e8eb37d61
https://github.com/llvm/llvm-project/commit/f82d0187a7e581d4f8f825021dbcb08e8eb37d61
Author: David Green <david.green at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/misched-bundle.mir
Log Message:
-----------
[AArch64] Add a test to show incorrect latencies into Bundle instructions. NFC
Commit: e54af608160350baa7ae1b8069f916eb625beadd
https://github.com/llvm/llvm-project/commit/e54af608160350baa7ae1b8069f916eb625beadd
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Added AlignConsecutiveTableGenBreakingDAGArgColons option. (#86150)
The option to specify the style of alignment of the colons inside TableGen's DAGArg.
Commit: 46b853a82ce64e5213f8dfa2c12c6e6a950018a0
https://github.com/llvm/llvm-project/commit/46b853a82ce64e5213f8dfa2c12c6e6a950018a0
Author: Billy Laws <blaws05 at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/test/MC/AArch64/coff-relocations.s
Log Message:
-----------
[MC][COFF][AArch64] Treat ARM64EC/X as ARM64 for relocations (#86019)
Since ARM64EC/X objects use regular ARM64 relocations, any special
handling must be done for them too.
Commit: d231e3b10ead90e4360f7ceb88e4bca9d42d7d04
https://github.com/llvm/llvm-project/commit/d231e3b10ead90e4360f7ceb88e4bca9d42d7d04
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A clang/test/C/C11/n1282.c
M clang/test/C/drs/dr0xx.c
M clang/www/c_dr_status.html
M clang/www/c_status.html
Log Message:
-----------
[C11] Add test & update status of N1282 and DR087
Our existing diagnostics for catching unsequenced modifications handles
test coverage for N1282, which is correcting the standard based on the
resolution of DR087.
Commit: 8612fa0d84c730a753d04de012a8372ba5a10677
https://github.com/llvm/llvm-project/commit/8612fa0d84c730a753d04de012a8372ba5a10677
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-2.f90
A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-scalar.f90
Log Message:
-----------
[MLIR][OpenMP] Refactor bounds offsetting and fix to apply to all directives (#84349)
This PR refactors bounds offsetting by combining the two differing
implementations (one applying to initial derived type member map
implementation for descriptors and the other for regular arrays,
effectively allocatable array vs regular array in fortran) now that it's
a little simpler to do.
The PR also moves the utilization of createAlteredByCaptureMap into
genMapInfoOp, where it will be correctly applied to all MapInfoData,
appropriately offsetting and altering Pointer data set in the kernel
argument structure on the host. This primarily means bounds offsets will
now correctly apply to enter/exit/update map clauses as opposed to just
the Target directive that is currently the case. A few fortran runtime
tests have been added to verify this new behavior.
This PR depends on: https://github.com/llvm/llvm-project/pull/84328 and
is an extraction of the larger derived type member map PR stack (so a
requirement for it to land).
Commit: 71db97152173a524a3e16e02b7fdc50f405c8695
https://github.com/llvm/llvm-project/commit/71db97152173a524a3e16e02b7fdc50f405c8695
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
A mlir/test/Conversion/ArithToEmitC/arith-to-emitc-failed.mlir
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
Log Message:
-----------
[mlir][emitc] Arith to EmitC: Handle addi, subi and muli (#86120)
Important to consider that `arith` has wrap around semantics, and in C++
signed overflow is UB.
Unless the operation guarantees that no signed overflow happens, we will
perform the arithmetic in an equivalent unsigned type.
`bool` also doesn't wrap around in C++, and is not addressed here.
Commit: 9c0a0659d40f613e873e416833d2293365b48e06
https://github.com/llvm/llvm-project/commit/9c0a0659d40f613e873e416833d2293365b48e06
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/small-tree-not-schedulable-bv-node.ll
Log Message:
-----------
[SLP]Fix a crash for non-profitable non-schedulable single buildvector node tree, if the threshold allows its vectorization.
Commit: 6f44bb7717897191be25aa01161831c67cdf5b84
https://github.com/llvm/llvm-project/commit/6f44bb7717897191be25aa01161831c67cdf5b84
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Object/OffloadBinary.cpp
Log Message:
-----------
[Object] Ensure header size not to underflow in `OffloadBinary::create`
Prevent potential integer underflows when header size is not valid.
Fixes: https://github.com/llvm/llvm-project/issues/86280.
Commit: b44771f480385fa93ba7719a57e759e19747e709
https://github.com/llvm/llvm-project/commit/b44771f480385fa93ba7719a57e759e19747e709
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
A clang/test/Driver/riscv-profiles.c
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Support RISC-V Profiles in -march option (#76357)
This PR implements the draft
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/36.
Currently, we replace specified profile in `-march` with standard
arch string.
This is recommitted as 66f88de was reverted because of failures
caused by lacking `--target` option.
Commit: cdbec7baf1bc31b59526442c9d4d5f53aac746eb
https://github.com/llvm/llvm-project/commit/cdbec7baf1bc31b59526442c9d4d5f53aac746eb
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/include/arpa/inet.h.def
M libc/include/assert.h.def
M libc/include/ctype.h.def
M libc/include/dirent.h.def
M libc/include/errno.h.def
M libc/include/fcntl.h.def
M libc/include/features.h.def
M libc/include/fenv.h.def
M libc/include/float.h.def
M libc/include/gpu/rpc.h.def
M libc/include/inttypes.h.def
M libc/include/limits.h.def
M libc/include/llvm-libc-macros/containerof-macro.h
M libc/include/llvm-libc-macros/sys-queue-macros.h
M libc/include/llvm-libc-types/__mutex_type.h
M libc/include/llvm-libc-types/cookie_io_functions_t.h
M libc/include/llvm-libc-types/fd_set.h
M libc/include/llvm-libc-types/mtx_t.h
M libc/include/llvm-libc-types/once_flag.h
M libc/include/llvm-libc-types/pthread_attr_t.h
M libc/include/llvm-libc-types/pthread_mutex_t.h
M libc/include/llvm-libc-types/pthread_once_t.h
M libc/include/llvm-libc-types/pthread_t.h
M libc/include/llvm-libc-types/siginfo_t.h
M libc/include/llvm-libc-types/sigset_t.h
M libc/include/llvm-libc-types/stack_t.h
M libc/include/llvm-libc-types/struct_dirent.h
M libc/include/llvm-libc-types/struct_epoll_event.h
M libc/include/llvm-libc-types/struct_rlimit.h
M libc/include/llvm-libc-types/struct_rusage.h
M libc/include/llvm-libc-types/struct_sched_param.h
M libc/include/llvm-libc-types/struct_sigaction.h
M libc/include/llvm-libc-types/struct_sockaddr.h
M libc/include/llvm-libc-types/struct_sockaddr_un.h
M libc/include/llvm-libc-types/struct_stat.h
M libc/include/llvm-libc-types/struct_termios.h
M libc/include/llvm-libc-types/struct_timespec.h
M libc/include/llvm-libc-types/struct_timeval.h
M libc/include/llvm-libc-types/thrd_t.h
M libc/include/math.h.def
M libc/include/pthread.h.def
M libc/include/sched.h.def
M libc/include/search.h.def
M libc/include/setjmp.h.def
M libc/include/signal.h.def
M libc/include/spawn.h.def
M libc/include/stdbit.h.def
M libc/include/stdckdint.h.def
M libc/include/stdfix.h.def
M libc/include/stdint.h.def
M libc/include/stdio.h.def
M libc/include/stdlib.h.def
M libc/include/string.h.def
M libc/include/strings.h.def
M libc/include/sys/auxv.h.def
M libc/include/sys/epoll.h.def
M libc/include/sys/ioctl.h.def
M libc/include/sys/mman.h.def
M libc/include/sys/prctl.h.def
M libc/include/sys/queue.h
M libc/include/sys/random.h.def
M libc/include/sys/resource.h.def
M libc/include/sys/select.h.def
M libc/include/sys/sendfile.h.def
M libc/include/sys/socket.h.def
M libc/include/sys/stat.h.def
M libc/include/sys/time.h.def
M libc/include/sys/types.h.def
M libc/include/sys/utsname.h.def
M libc/include/sys/wait.h.def
M libc/include/termios.h.def
M libc/include/threads.h.def
M libc/include/time.h.def
M libc/include/uchar.h.def
M libc/include/unistd.h.def
M libc/include/wchar.h.def
Log Message:
-----------
[libc] fix up the use of angle includes in include/ (#86027)
Performed en-masse via:
$ grep -rn "#include <ll" libc/include -l | \
xargs perl -pi -e 's/#include <ll(.*)>/#include "ll$1"/'
$ grep -rn "#include <__" libc/include -l | \
xargs perl -pi -e 's/#include <__(.*)>/#include "__$1"/'
Link: #83463
Link: #83210
Commit: 4318f7e5301fb737a7abaacb3b43b6a9289055f3
https://github.com/llvm/llvm-project/commit/4318f7e5301fb737a7abaacb3b43b6a9289055f3
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/stdlib/atexit.cpp
M libc/src/stdlib/exit.cpp
Log Message:
-----------
[libc][stdlib] initial support for __cxa_finalize (#85865)
I'm trying to break up the pieces of supporting __cxa_finalize into smaller
commits. Provide this symbol first, and make use of it from exit.
Next will be to store __dso_handle, then finally to only run callbacks that
were registered from a specific dso.
Link: #85651
Link: https://itanium-cxx-abi.github.io/cxx-abi/abi.html#dso-dtor
Commit: 6e28ecd79995a72a8dbde8f16a1afc18309442a1
https://github.com/llvm/llvm-project/commit/6e28ecd79995a72a8dbde8f16a1afc18309442a1
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Object/ELF.cpp
Log Message:
-----------
[Object][ELF] Ensure offset to locate dyn section does not go past size
Validate `p_offset` in `dynamicEntries` before computing the entry offset.
Fixes: https://github.com/llvm/llvm-project/issues/85568.
Commit: f66d631bf8dc0fe33c6ba88c3dc7f00ac5946065
https://github.com/llvm/llvm-project/commit/f66d631bf8dc0fe33c6ba88c3dc7f00ac5946065
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/unsupported-option-gpu.c
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/SyntheticSections.cpp
Log Message:
-----------
Revert "[BOLT] Add BB index to BAT (#86044)"
This reverts commit 3b3de48fd84b8269d5f45ee0a9dc6b7448368424.
Commit: b0e23639c5b19030bee2b307173802914f64aad6
https://github.com/llvm/llvm-project/commit/b0e23639c5b19030bee2b307173802914f64aad6
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
Log Message:
-----------
[BOLT] Add BB index to BAT
Add input basic block index to BAT metadata. This addresses the case
where some basic blocks are eliminated, and output index is not equal
to the input block index. These indices are used in non-stale-matching
mode.
Increases BAT section size to:
- large binary: 39521512 bytes (1.02x original),
- medium binary: 3799988 bytes (0.64x),
- small binary: 920 bytes (0.64x).
Test Plan:
Updated bolt-address-translation{,-yaml}.test
Pull Request: https://github.com/llvm/llvm-project/pull/86044
Commit: cb300c33059c1d14f72392ce5dffcf050ad7567d
https://github.com/llvm/llvm-project/commit/cb300c33059c1d14f72392ce5dffcf050ad7567d
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/test/Dialect/LLVMIR/sroa.mlir
Log Message:
-----------
[MLIR][LLVM][SROA] Fix pointer escape through stores bug (#86291)
This commit resolves a SROA bug caused by not properly checking if a
llvm store operation writes the pointer to memory or not. Now, we do no
longer consider stores that use a slot pointer as a value to store as
fixable.
Commit: ceba3a38e8f7b378ad20641832d568460892af1d
https://github.com/llvm/llvm-project/commit/ceba3a38e8f7b378ad20641832d568460892af1d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Add number of basic blocks to BAT
YAML profile reader checks the number of basic blocks in regular,
no-stale-matching mode. Add it to BAT.
This increases the size of BAT section to:
- large binary: 39583080 bytes (1.02x of the original),
- medium binary: 3816492 bytes (0.64x),
- small binary: 920 bytes (0.64x, no change due to alignment).
Test Plan: Updated bolt-address-translation-yaml.test
Reviewers: rafaelauler, ayermolo, maksfb, dcci
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/86045
Commit: 2091c74796b1dac68e622284c63a870b88b7554f
https://github.com/llvm/llvm-project/commit/2091c74796b1dac68e622284c63a870b88b7554f
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/include/llvm-c/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/tools/llvm-c-test/debuginfo.c
Log Message:
-----------
[RemoveDIs] Update DIBuilder C API with DbgRecord functions [2/2] (#85657)
Follow on from #84915 which adds the DbgRecord function variants.
Update the LLVMDIBuilderInsert... functions to insert DbgRecords instead
of debug intrinsics.
LLVMDIBuilderInsertDeclareBefore
LLVMDIBuilderInsertDeclareAtEnd
LLVMDIBuilderInsertDbgValueBefore
LLVMDIBuilderInsertDbgValueAtEnd
Calling these functions will now cause an assertion if the module is in the
wrong debug info format. They should only be used when the module is in "new
debug format".
Use LLVMIsNewDbgInfoFormat to query and LLVMSetIsNewDbgInfoFormat to change the
debug info format of a module.
Please see https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-change
(RemoveDIsDebugInfo.md) for more info.
Commit: 3054d0dae7a813c493d2bb8e969aa2321145a83b
https://github.com/llvm/llvm-project/commit/3054d0dae7a813c493d2bb8e969aa2321145a83b
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
Log Message:
-----------
AMDGPU: Rename and add bf16 support for global_load_tr builtins (#86202)
Make the name of a clang builtin as close to the mnemonic instruction
name as possible. The data type suffix may not be enough to tell what
instruction the builtin is going to produce.
This patch also add the bf16 support for global_load_tr_b128 builtins.
Commit: 631e54aa1a0b7a79d0dec8dce7ec0f5e506acf6c
https://github.com/llvm/llvm-project/commit/631e54aa1a0b7a79d0dec8dce7ec0f5e506acf6c
Author: long.chen <lipracer at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/test/Dialect/Arith/expand-ops.mlir
M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
M mlir/test/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][arith] fix wrong floordivsi fold (#83248)
Fixs https://github.com/llvm/llvm-project/issues/83079
Commit: 01b1b0c1f728e2c2639edc654424f50830295989
https://github.com/llvm/llvm-project/commit/01b1b0c1f728e2c2639edc654424f50830295989
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir
Log Message:
-----------
[mlir][SVE] Add e2e for 1D depthwise WC convolution (#85225)
Follow-up for https://github.com/llvm/llvm-project/pull/81625
Commit: ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39
https://github.com/llvm/llvm-project/commit/ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
Log Message:
-----------
[bazel] Update to 7.x (#86297)
Commit: 26857582e5ee7980a71133ef8f8f579bcd90bdc8
https://github.com/llvm/llvm-project/commit/26857582e5ee7980a71133ef8f8f579bcd90bdc8
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/include/llvm-c/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/tools/llvm-c-test/debuginfo.c
Log Message:
-----------
Revert "[RemoveDIs] Update DIBuilder C API with DbgRecord functions [2/2] (#85657)"
This reverts commit 2091c74796b1dac68e622284c63a870b88b7554f.
Builtbot failure: https://lab.llvm.org/buildbot/#/builders/16/builds/63080
Commit: 8155ec13968b6457c61b8507f2ae8ba3ac3b748b
https://github.com/llvm/llvm-project/commit/8155ec13968b6457c61b8507f2ae8ba3ac3b748b
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
Log Message:
-----------
[HIP][NFC] Refactor managed var codegen (#85976)
Refactor managed variable handling in codegen so that the transformation
is done separately from registration.
This will allow the new driver to register the managed var in the linker
wrapper.
Commit: 7269570e4b2a5197201c959652c3e86804ed1eeb
https://github.com/llvm/llvm-project/commit/7269570e4b2a5197201c959652c3e86804ed1eeb
Author: Abhin P Jose <abhinjose at live.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
Log Message:
-----------
Fixed build breaking due to #77178 and #86131 (#86290)
Fixed a small issue of matching pthread signature, which was causing the
build to break for the compiler-rt project after adding
-Wcast-function-type-mismatch to -Wextra dignostic group
(https://github.com/llvm/llvm-project/pull/77178 &
https://github.com/llvm/llvm-project/pull/86131).
Commit: d2f684685afeffcffba7e889e7267bce1d905911
https://github.com/llvm/llvm-project/commit/d2f684685afeffcffba7e889e7267bce1d905911
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A clang/test/C/drs/dr290.c
M clang/www/c_dr_status.html
Log Message:
-----------
[C99] Update status of DR290, which we do not yet implement
Commit: 527a624205748814dd9309eda7ee308b40b2359a
https://github.com/llvm/llvm-project/commit/527a624205748814dd9309eda7ee308b40b2359a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A clang/test/C/C11/n1365.c
M clang/www/c_status.html
Log Message:
-----------
[C11] Update the status of N1365 on constant expression handling
This paper is about constant expression handling in the presence of
FLT_EVAL_METHOD, which we handle via insertion of implicit cast nodes
in the AST.
Commit: 72c729f354d71697a1402720c90b57ff521b6739
https://github.com/llvm/llvm-project/commit/72c729f354d71697a1402720c90b57ff521b6739
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/defs.bzl
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add support for --incompatible_disallow_empty_glob (#85999)
This bazel flag, that should be flipped in an upcoming release
https://github.com/bazelbuild/bazel/pull/15327, fails if globs have no
matches. This helps find libraries where you are accidentally not
including files because of typos. This change removes the various globs
that were not matching anything, and uncovered some targets that were
doing nothing because their source files were deleted. There are a few
cases where globs were intentionally optional in the case of loops that
expanded to different potential options, so those now use `allow_empty =
True`. This allows downstream consumers to also flip this flags for
their own builds, where previously this would fail in LLVM instead.
The downside to this change is that if files are added in these
relatively standard locations, manual work will have to be done to add
this patterns back. If folks prefer we could instead add `allow_empty =
True` to every glob.
Commit: 5184e6ad69b0ca69dfba6fb0982a675c595f49a2
https://github.com/llvm/llvm-project/commit/5184e6ad69b0ca69dfba6fb0982a675c595f49a2
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/test/C/C11/n1365.c
Log Message:
-----------
Removing accidental code from 527a624205748814dd9309eda7ee308b40b2359a
Commit: bd493756fa51e538575fc320aae50d75394f0567
https://github.com/llvm/llvm-project/commit/bd493756fa51e538575fc320aae50d75394f0567
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
[llvm-exegesis] Refactor parent code to separate function (#86232)
This patch refactors the parent code to a separate function in the
subprocess executor to make the code more clear and easy to follow.
Commit: d2f8ba7d6dc7251815f1431cf8715053576615f4
https://github.com/llvm/llvm-project/commit/d2f8ba7d6dc7251815f1431cf8715053576615f4
Author: Sacha Coppey <sacha.coppey at oracle.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
Log Message:
-----------
[RISCV][NFC] Add generateMCInstSeq in RISCVMatInt (#84462)
This allows to avoid duplicating the code handling the instructions
outputted by `generateInstSeq` when emitting `MCInst`s.
Commit: c3a41aac5f32475b9a0499e6e888e713763566dc
https://github.com/llvm/llvm-project/commit/c3a41aac5f32475b9a0499e6e888e713763566dc
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
Revert "[llvm-exegesis] Refactor parent code to separate function (#86232)"
This reverts commit bd493756fa51e538575fc320aae50d75394f0567.
Causes build failures on non-X86 platforms.
https://lab.llvm.org/buildbot/#/changes/128363
Commit: 36a6afdd2c7fa02548260ebe4c993b705c6e6e38
https://github.com/llvm/llvm-project/commit/36a6afdd2c7fa02548260ebe4c993b705c6e6e38
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
Reland "[llvm-exegesis] Refactor parent code to separate function (#86232)"
This reverts commit c3a41aac5f32475b9a0499e6e888e713763566dc.
This relands commit bd493756fa51e538575fc320aae50d75394f0567.
Apparently I forgot to update a couple values, so this change failed on
every builder that builds those sections (should be every Linux
platform) rather than something architecture specific like originally
thought. I swore I updated the values and ran check-llvm before merging.
Wondering If I forgot to push those changes...
Commit: bbcfe6f4311af8cf6095a5bc5937fa68a87b4289
https://github.com/llvm/llvm-project/commit/bbcfe6f4311af8cf6095a5bc5937fa68a87b4289
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
A mlir/test/Dialect/Linalg/flatten-unsupported.mlir
Log Message:
-----------
[mlir][transform] Emit error message with `emitSilenceableFailure` (#86146)
The previous implementation used a `notifyMatchFailure` to emit failure
message inappropriately and then used the
`emitDefaultSilenceableFailure`. This patch changes this to use the more
appropriate `emitSilenceableFailure` with error message. Additionally a
failure test has been added.
Commit: cd8286a667d568c4319b09baa63ba899e3101a19
https://github.com/llvm/llvm-project/commit/cd8286a667d568c4319b09baa63ba899e3101a19
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
[GitHub] Allow shortcut for "introductory issue" and request linking to issue in PR (#84635)
The answer to many requests in issues to be assigned to users is often
"just create a pull request". That's in contradiction to the
"introductory issue" instructions posted by the GitHub bot.
This change updates the instructions, mentioning the shortcut of "just
creating a PR". Moreover, it now explains linking PRs to issues in order
to close them automatically upon merge.
Commit: fb329f18445cb33d242cc500ca618d03674b22ad
https://github.com/llvm/llvm-project/commit/fb329f18445cb33d242cc500ca618d03674b22ad
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/MC/MCRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[Target] Move SubRegIdxRanges from MCSubtargetInfo to TargetInfo. (#86245)
I'm planning to add HwMode support to SubRegIdxRanges for RISC-V GPR
pairs. The MC layer is currently unaware of the HwMode for registers and
I'd like to keep it that way.
This information is not used by the MC layer so I think it is safe to
move it.
Commit: b1575f9082071702bd6aaa2600ce9fe011a091e9
https://github.com/llvm/llvm-project/commit/b1575f9082071702bd6aaa2600ce9fe011a091e9
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
Log Message:
-----------
Missed a null-ptr check in previous PR for Debuginfod testing (#86292)
@GeorgeHuyubo noticed an unchecked shared pointer result in
https://github.com/llvm/llvm-project/pull/85693/. This is the fix for
that issue.
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: 721f149596f27f3d4c5c28ec2a2fac33340fb876
https://github.com/llvm/llvm-project/commit/721f149596f27f3d4c5c28ec2a2fac33340fb876
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/math/docs/add_math_function.md
Log Message:
-----------
Fix typo (#86319)
Im working on the floating point fmaximum and fminimum functions right
now in a different pr and I ran the individual tests by doing
```
ninja libc.test.src.math.smoke.<func>_test.__unit__
```
Commit: 83e96977cdb6041196366fc01e8abdca52cadb2e
https://github.com/llvm/llvm-project/commit/83e96977cdb6041196366fc01e8abdca52cadb2e
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/stdc.td
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/strfromd.cpp
A libc/src/stdlib/strfromd.h
M libc/src/stdlib/strfromf.h
A libc/src/stdlib/strfroml.cpp
A libc/src/stdlib/strfroml.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/StrfromTest.h
A libc/test/src/stdlib/strfromd_test.cpp
M libc/test/src/stdlib/strfromf_test.cpp
A libc/test/src/stdlib/strfroml_test.cpp
Log Message:
-----------
[libc] Implement strfromd() and strfroml() (#86113)
Follow up to #85438.
Implements the functions `strfromd()` and `strfroml()` introduced in
C23, and unifies the testing framework for `strfrom*()` functions.
Commit: e64e15ee597370a9731fcba0b2b8a514f26125e7
https://github.com/llvm/llvm-project/commit/e64e15ee597370a9731fcba0b2b8a514f26125e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
Log Message:
-----------
[RISCV] Move the RISCVSchedule.td include after RISCVRegisterInfo.td. NFC
Registers shouldn't depend on the scheduler, but a scheduler
predicate could depend on a register.
This would make it possible to move VLDSX0Pred out of the SiFive7
scheduler model to RISCVSchedule.td if another model needed it.
Commit: 2120f574103c487787390263b3692c4b167f6bdf
https://github.com/llvm/llvm-project/commit/2120f574103c487787390263b3692c4b167f6bdf
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A .github/workflows/issue-write.yml
M .github/workflows/pr-code-format.yml
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
Reapply [workflows] Split pr-code-format into two parts to make it more secure (#78215) (#80495)
Actions triggered by pull_request_target events have access to all
repository secrets, so it is unsafe to use them when executing untrusted
code. The pr-code-format workflow does not execute any untrusted code,
but it passes untrused input into clang-format. An attacker could use
this to exploit a flaw in clang-format and potentially gain access to
the repository secrets.
By splitting the workflow, we can use the pull_request target which is
more secure and isolate the issue write permissions in a separate job.
The pull_request target also makes it easier to test changes to the
code-format-helepr.py script, because the version of the script from the
pull request will be used rather than the version of the script from
main.
Fixes #77142
Commit: 80fc61270d6cae8d1bfbd9211727fe1d22fc0cd5
https://github.com/llvm/llvm-project/commit/80fc61270d6cae8d1bfbd9211727fe1d22fc0cd5
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
Log Message:
-----------
Revert "[bazel] Update to 7.x (#86297)" (#86325)
Reverting for
https://github.com/llvm/llvm-project/pull/86297#issuecomment-2015660662
This reverts commit ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39.
Commit: 50e6218132d6d9cfc2645fa19cf72d0437a62d95
https://github.com/llvm/llvm-project/commit/50e6218132d6d9cfc2645fa19cf72d0437a62d95
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.h
M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp
Log Message:
-----------
Reland "[llvm-exegesis] Add thread IDs to subprocess memory names (#84451)"
This reverts commit 1fe9c417a0bf143f9bb9f9e1fbf7b20f44196883.
This relands commit 6bbe8a296ee91754d423c59c35727eaa624f7140.
This was causing build failures on one of the ARMv8 builders. Still not
completely sure why, but relanding it to see if the failure pops up
again. If it does, the plan is to fix forward by disabling tests on ARM
temporarily as llvm-exegesis does not currently use SubprocessMemory
on ARM.
Commit: 4b907414d2c0445ac1ae11811aaa4aaa2e060cf9
https://github.com/llvm/llvm-project/commit/4b907414d2c0445ac1ae11811aaa4aaa2e060cf9
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrSystem.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
A llvm/test/CodeGen/SystemZ/readcyclecounter.ll
Log Message:
-----------
[SystemZ] Add support for llvm.readcyclecounter
The llvm.readcyclecounter intrinsic can be implemented via the
STORE CLOCK FAST (STCKF) instruction.
Commit: ee9fa38554f8427f5361708b28551e70ff0e1256
https://github.com/llvm/llvm-project/commit/ee9fa38554f8427f5361708b28551e70ff0e1256
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
[libc] fix missing macro dependency in bazel (#86298)
![image](https://github.com/llvm/llvm-project/assets/20108837/94cb5718-3526-4bae-8a79-f5b1d19b352d)
Commit: d394f3a162b871668d0c8e8bf6a94922fa8698ae
https://github.com/llvm/llvm-project/commit/d394f3a162b871668d0c8e8bf6a94922fa8698ae
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_affinity.h
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/z_Linux_util.cpp
M openmp/runtime/test/lit.cfg
Log Message:
-----------
[OpenMP][AIX] Affinity implementation for AIX (#84984)
This patch implements `affinity` for AIX, which is quite different from
platforms such as Linux.
- Setting CPU affinity through masks and related functions are not
supported. System call `bindprocessor()` is used to bind a thread to one
CPU per call.
- There are no system routines to get the affinity info of a thread. The
implementation of `get_system_affinity()` for AIX gets the mask of all
available CPUs, to be used as the full mask only.
- Topology is not available from the file system. It is obtained through
system SRAD (Scheduler Resource Allocation Domain).
This patch has run through the libomp LIT tests successfully with
`affinity` enabled.
Commit: dfe4ca9b7f4a422500d78280dc5eefd1979939e6
https://github.com/llvm/llvm-project/commit/dfe4ca9b7f4a422500d78280dc5eefd1979939e6
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/test/ELF/riscv-tlsdesc-relax.s
M lld/test/ELF/riscv-tlsdesc.s
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
Log Message:
-----------
[RISCV][lld] Set the type of TLSDESC relocation's referenced local symbol to STT_NOTYPE
When adding fixups for RISCV_TLSDESC_ADD_LO and RISCV_TLSDESC_LOAD_LO,
the local label added for RISCV TLSDESC relocations have STT_TLS set,
which is incorrect. Instead, these labels should have `STT_NOTYPE`.
This patch stops adding such fixups and avoid setting the STT_TLS on
these symbols. Failing to do so can cause LLD to emit an error `has an
STT_TLS symbol but doesn't have an SHF_TLS section`. We additionally,
adjust how LLD services these relocations to avoid errors with
incompatible relocation and symbol types.
Reviewers: topperc, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/85817
Commit: e9639e9c0636d9e2b9591c2cdac5cac75e363e77
https://github.com/llvm/llvm-project/commit/e9639e9c0636d9e2b9591c2cdac5cac75e363e77
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
Log Message:
-----------
[flang][NFC] Extract FIROpConversion to its own files (#86213)
This PR extracts `FIROpConversion` and `FIROpAndTypeConversion`
templated base patterns to a header file. All the functions from
FIROpConversion that do not require the template argument are moved to a
base class named `ConvertFIRToLLVMPattern`.
This move is done so the `FIROpConversion` pattern and all its utility
functions can be reused outside of the codegen pass.
For the most part the code is only moved to the new files and not
modified. The only update is that addition of the PatternBenefit
argument with a default value to the constructor so it can be forwarded
to the `ConversionPattern` ctor.
This split is done in a similar way for the `ConvertOpToLLVMPattern`
base pattern that is based on the `ConvertToLLVMPattern` base class in
`mlir/include/mlir/Conversion/LLVMCommon/Pattern.h`.
Commit: 19268ac55106834701b1c41acded4d413a3502e9
https://github.com/llvm/llvm-project/commit/19268ac55106834701b1c41acded4d413a3502e9
Author: Mariusz Borsa <wrotki at msn.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
[Sanitizers][Darwin] Bump up DEFAULT_SANITIZER_MIN_OSX_VERSION (#86035)
The greendragon was recently moved and now it runs on somewhat newer
macOS
version - which breaks some sanitizers tests
rdar://125052915
Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
Commit: 105feb9ac61243a32c84f5c13015602e5de500ff
https://github.com/llvm/llvm-project/commit/105feb9ac61243a32c84f5c13015602e5de500ff
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
A bolt/test/X86/dwarf4-label-low-pc.s
M bolt/test/X86/dwarf5-label-low-pc.s
Log Message:
-----------
[BOLT][DWARF] Fix handling of DW_TAG_label (#86182)
For DWARF5 BOLT was not retreiving address and instead was setting an
index.
Changed so that an address is used, and added DWARF4 test because it was
missing.
Commit: f3cfe016c5d8429c0dccfa6f85442e2ea0d45a58
https://github.com/llvm/llvm-project/commit/f3cfe016c5d8429c0dccfa6f85442e2ea0d45a58
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/include/bolt/Core/DebugNames.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
A bolt/test/X86/dwarf5-debug-names-cross-cu.s
Log Message:
-----------
[BOLT][DWARF] Add support for cross-cu references for debug-names (#86015)
The DW_AT_abstract_origin can be a cross-cu reference as a by-product of
LTO. On IR level for absolute references an address is stored, vs a DIE
for relative references. Added a map to keep track of cross-cu
referenced DIEs to use when we add an Entry.
Commit: dcbddc25250158469c5635ad2ae4095faef53dfd
https://github.com/llvm/llvm-project/commit/dcbddc25250158469c5635ad2ae4095faef53dfd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/common/OMPT/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Unify and simplify plugin CMake (#86191)
Summary:
This patch reworks the CMake handling for building plugins. All this
does is pull a lot of shared and common logic into a single helper
function.
This also simplifies the OMPT libraries from being built separately
instead of just added.
Commit: 215f105ca5d0b42d00bbbc315605b222d63be63a
https://github.com/llvm/llvm-project/commit/215f105ca5d0b42d00bbbc315605b222d63be63a
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/stack-tagging-stack-coloring.ll
Log Message:
-----------
[MTE] Fix test (#85875)
llc runs the stack tagging instrumentation, so if we run opt before, we
double instrument
Commit: 14be4930c10bcc6f6c0096097350cb3cafff9661
https://github.com/llvm/llvm-project/commit/14be4930c10bcc6f6c0096097350cb3cafff9661
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
[bazel] Make compiler-rt analyze on macOS (#86001)
Previously the select above would fail for non-linux platforms if you
did a `bazel build @llvm-project//...`, now this target specifies that
it's only supported on the linux platform through bazel's
`target_compatible_with` feature. This makes all targets in the tree be
ignored when building on incompatible platforms (and fail if built
directly)
Commit: 85af772f3b4067fce703b33cee0e2cdafc74a6d6
https://github.com/llvm/llvm-project/commit/85af772f3b4067fce703b33cee0e2cdafc74a6d6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
Log Message:
-----------
[Libomptarget][FIX] Fix unintentinally used PUBLIC interface
Summary:
This was supposed to be private and caused some issues with certain
configs.
Commit: 5d0d9eb52dbb3bcf6f500c7b18d58c8bdf6659ce
https://github.com/llvm/llvm-project/commit/5d0d9eb52dbb3bcf6f500c7b18d58c8bdf6659ce
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Support/BalancedPartitioning.h
M llvm/lib/Support/BalancedPartitioning.cpp
Log Message:
-----------
[NFC][BP] Remove unused parameter from function (#86333)
Remove the unused parameter `RecDepth` from `runIterations()`.
Commit: 4652ec0e291ca4ba4ddef3fd59b202646e9a6694
https://github.com/llvm/llvm-project/commit/4652ec0e291ca4ba4ddef3fd59b202646e9a6694
Author: Patrick O'Neill <102189596+patrick-rivos at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
Log Message:
-----------
[SLP] Delete vectorized users when tree contains an invalid cost (#86344)
Commit: 913e29966bac5fec08998a1acc3e793f9b7bcc12
https://github.com/llvm/llvm-project/commit/913e29966bac5fec08998a1acc3e793f9b7bcc12
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
Log Message:
-----------
[NFC][tsan] Use the result of placement new (#86341)
Commit: 0ba678a53d3ef7d125f38720a59875035739dc9b
https://github.com/llvm/llvm-project/commit/0ba678a53d3ef7d125f38720a59875035739dc9b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
Log Message:
-----------
[tsan] Set `thr->is_inited` after SlotAttachAndLock (#86342)
Almost NFC.
This is symmetrical to `ThreadFinish`, which
resets the slot after `is_inited`.
Commit: 362d26366d0175f01ffb6085eb747a6e40f01147
https://github.com/llvm/llvm-project/commit/362d26366d0175f01ffb6085eb747a6e40f01147
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Log Message:
-----------
[tsan] Process SIGPROF as sync signal only if thread is alive (#86343)
Otherwise it may crash too early.
This is followup to #85188
Commit: b1e97d60bd5b1d3f994345caa4012ea11c2a0f62
https://github.com/llvm/llvm-project/commit/b1e97d60bd5b1d3f994345caa4012ea11c2a0f62
Author: Yeoul Na <yeoul_na at apple.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/CodeGen/attr-counted-by-debug-info.c
Log Message:
-----------
Unwrap CountAttributed for debug info (#86017)
Fix crash caused by 3eb9ff30959a670559bcba03d149d4c51bf7c9c9
Commit: 56197d732e5d5d158fce2f2dfddf3d0bf0d12525
https://github.com/llvm/llvm-project/commit/56197d732e5d5d158fce2f2dfddf3d0bf0d12525
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT] Skip functions with unsupported Linux kernel features (#86345)
Do not overwrite functions with alternative and paravirtual instructions
until a proper update support is implemented.
Commit: 51268a57fd4d7f67fe9fdb337f63ec390fa2379a
https://github.com/llvm/llvm-project/commit/51268a57fd4d7f67fe9fdb337f63ec390fa2379a
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/linux-alt-instruction.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-parainstructions.s
Log Message:
-----------
[BOLT] Enable --keep-nops option for Linux kernel by default (#86349)
Preserve nop instructions in the Linux kernel since they could be used
for runtime patching.
Commit: 3bc71c2abfa00413fd15cf0e5c08af6ec0d4768b
https://github.com/llvm/llvm-project/commit/3bc71c2abfa00413fd15cf0e5c08af6ec0d4768b
Author: Usama Hameed <u_hameed at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/CMakeLists.txt
A cmake/Modules/GetDarwinLinkerVersion.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
Log Message:
-----------
Get the linker version and pass the it to compiler-rt tests on Darwin. (#86220)
The HOST_LINK_VERSION is a hardcoded string in Darwin clang that detects
the linker version at configure time. The driver uses this information
to build the correct set of arguments for the linker. This patch detects
the linker version again during compiler-rt configuration and passes it
to the tests. This allows a clang built on a machine with a new linker
to run compiler-rt tests on a machine with an old linker.
rdar://125198603
Commit: 4406e4a8bd5acadd980d84356b36030cadf9a61d
https://github.com/llvm/llvm-project/commit/4406e4a8bd5acadd980d84356b36030cadf9a61d
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
Log Message:
-----------
Revert "Missed a null-ptr check in previous PR for Debuginfod testing (#86292)"
This reverts commit b1575f9082071702bd6aaa2600ce9fe011a091e9.
Commit: 7fc2fbb3f1961e0ad0722c2d749ddd6264195a1c
https://github.com/llvm/llvm-project/commit/7fc2fbb3f1961e0ad0722c2d749ddd6264195a1c
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
R lldb/test/API/debuginfod/Normal/Makefile
R lldb/test/API/debuginfod/Normal/TestDebuginfod.py
R lldb/test/API/debuginfod/Normal/main.c
R lldb/test/API/debuginfod/SplitDWARF/Makefile
R lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
R lldb/test/API/debuginfod/SplitDWARF/main.c
Log Message:
-----------
Revert "DebugInfoD tests + fixing issues exposed by tests (#85693)"
This reverts commit 6d939a6ec69adf284cdbef2034b49fd02ba503fc.
This broke following LLDB bots:
https://lab.llvm.org/buildbot/#/builders/96/builds/54867
https://lab.llvm.org/buildbot/#/builders/17/builds/50824
Commit: 00248754176d74aed2e0785d9982a5ea8e91a71a
https://github.com/llvm/llvm-project/commit/00248754176d74aed2e0785d9982a5ea8e91a71a
Author: Daniel M. Katz <katzdm at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/test/SemaCXX/namespace-alias.cpp
Log Message:
-----------
[Clang] Raise an error on namespace aliases with qualified names. (#86122)
Commit: 5d187898f625cc54310f51b278b36ad6a97104ee
https://github.com/llvm/llvm-project/commit/5d187898f625cc54310f51b278b36ad6a97104ee
Author: Fabian Tschopp <fabian.tschopp at modular.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M mlir/lib/Transforms/InlinerPass.cpp
Log Message:
-----------
[mlir][inliner] Return early if the inliningThreshold is 0U or -1U. (#86287)
Computing the inlinling profitability can be costly due to walking the
graph when counting the number of operations.
This PR addresses that by returning early if the threshold is set to
never or always inline.
Commit: b768a8c1db85b9e84fd8b356570a3a8fbe37acf6
https://github.com/llvm/llvm-project/commit/b768a8c1db85b9e84fd8b356570a3a8fbe37acf6
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/test/ClangScanDeps/modules-extension.c
Log Message:
-----------
[clang][deps] Lazy dependency directives (#86347)
Since b4c83a13f664582015ea22924b9a0c6290d41f5b, `Preprocessor` and
`Lexer` are aware of the concept of scanning dependency directives. This
makes it possible to scan for them on-demand rather than eagerly on the
first filesystem operation (open, or even just stat).
This might improve performance, but is also necessary for the "PCH as
module" mode. Some precompiled header sources use the ".pch" file
extension, which means they were not getting scanned for dependency
directives. This was okay when the PCH was the main input file in a
separate scan step, because there we just lex the file in a
scanning-specific frontend action. But when such source gets treated as
a module implicitly loaded from a TU, it will get compiled as any other
module - with Sema - which will result in compilation errors. (See
attached test case.)
rdar://107663951
Commit: af63c6e5d08fcaeacaeee68aa0a1cda71d9a7549
https://github.com/llvm/llvm-project/commit/af63c6e5d08fcaeacaeee68aa0a1cda71d9a7549
Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedAmpere1.td
Log Message:
-----------
[AArch64] Adjust ROBsize for Ampere1/Ampere1A (NFC) (#86330)
To align more closely with common usage, we now use the size of the
reorder-buffer for MicroOpBufferSize instead of the entries of the
global micro-op scheduler.
Commit: b621269d4a4c08269b1b2d46f277d1918d3dab62
https://github.com/llvm/llvm-project/commit/b621269d4a4c08269b1b2d46f277d1918d3dab62
Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
Log Message:
-----------
[AArch64] Adjust ROBsize for Ampere1B (NFC) (#86331)
To align more closely with common usage, we now use the size of the
reorder-buffer for MicroOpBufferSize instead of the entries of the
global micro-op scheduler.
Commit: c3747883a0bf34d271bc89dbfc60590adf75d999
https://github.com/llvm/llvm-project/commit/c3747883a0bf34d271bc89dbfc60590adf75d999
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_starts_with.h
M libcxx/include/__ranges/as_rvalue_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/to.h
M libcxx/include/__ranges/zip_view.h
Log Message:
-----------
[libc++][ranges] use `static operator()` for C++23 ranges (#86052)
## Abstract
This pull request converts the `operator()` of all CPOs and niebloids
related to C++23 ranges to `static`.
## Motivation
In `libc++`, CPOs and niebloids are implemented as function objects.
Currently, the `operator()` for such a function object is a
`const`-qualified member function. This means that even if the function
object is has no data members, an extra register is used to pass in the
`this` pointer when calling `operator()`, unless the compiler can inline
the function call. Declaraing `operator()` as `static` would optimize
away the unnecessary `this` pointer passing for stateless function
objects, since there is no object instance state that needs to be
accessed.
## Reference
- [P1169R4: static `operator()`](https://wg21.link/P1169R4)
Commit: 20e0bacd0560382a31ad0d4ecc7472bd4a99c659
https://github.com/llvm/llvm-project/commit/20e0bacd0560382a31ad0d4ecc7472bd4a99c659
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
Log Message:
-----------
[Libomptarget][Fix] Remove duplicate version script for host builds
Summary:
This causes an error on some linkers and was mistakenly kept in.
Commit: dc43aa439ecee90a9f51c6c1e46df8be61e0457c
https://github.com/llvm/llvm-project/commit/dc43aa439ecee90a9f51c6c1e46df8be61e0457c
Author: Charlie Barto <chbarto at microsoft.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/ubsan/CMakeLists.txt
Log Message:
-----------
[asan][windows] When compiling with clang-cl or MSVC pass /Zl (that's a little L) (#85874)
/Zl is the equivalent of -nodefaultlibs. The idea here is to make sure
that the asan runtime doesn't have any defaultlibs directives, which
makes it easier to mix an asan runtime built with the dynamic CRT with
an application built with the static CRT (or vise-versa).
This is part of the overall effort to remove the static asan runtime on
windows entirely: https://github.com/llvm/llvm-project/pull/81677
Co-authored-by: Amy Wishnousky <amyw at microsoft.com>
Commit: b723c57f8fdb12ca8eaa6c5ee2afb820aaeb56c5
https://github.com/llvm/llvm-project/commit/b723c57f8fdb12ca8eaa6c5ee2afb820aaeb56c5
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Update the C++ page with papers approved in Tokyo
Commit: 2f6b1b4b30e3a719b1744baa4cd1ece504998c6e
https://github.com/llvm/llvm-project/commit/2f6b1b4b30e3a719b1744baa4cd1ece504998c6e
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
Log Message:
-----------
[ORC] Add default visibility to required JIT functions (#86322)
If you build LLVM with `-DCMAKE_CXX_VISIBILITY_PRESET=hidden` to help
reduce binary size, these symbols end up becoming local, and getting
stripped. This forces default visibility to override the global setting
in that case.
Relevant:
https://github.com/llvm/llvm-project/issues/62815#issuecomment-1560078260
Commit: 84e20cb0cbc64bb2d8299b30da3ce8e6421c203e
https://github.com/llvm/llvm-project/commit/84e20cb0cbc64bb2d8299b30da3ce8e6421c203e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Minor cleanup in CodeGenRegBank::getConcatSubRegIndex. NFC
Mark a variable const. Capitalize a variable name.
I'm going to add HwMode support to this code and wanted to clean it
up a bit beforehand.
Commit: 76fdb5902fbadbc08c6742156071431d8ad801ea
https://github.com/llvm/llvm-project/commit/76fdb5902fbadbc08c6742156071431d8ad801ea
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
A llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
Log Message:
-----------
[NewPM][DirectX] Add DirectXPassRegistry.def NFCI (#86242)
Prepare migration for dag-isel
Commit: 7ac7d418ac2b16fd44789dcf48e2b5d73de3e715
https://github.com/llvm/llvm-project/commit/7ac7d418ac2b16fd44789dcf48e2b5d73de3e715
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
A llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
Log Message:
-----------
[NewPM][NVPTX] Add NVPTXPassRegistry.def NFCI (#86246)
Prepare for dag-isel migration.
Commit: 2aa5bae0c03f1f857d0ae2a881b223c4a521853f
https://github.com/llvm/llvm-project/commit/2aa5bae0c03f1f857d0ae2a881b223c4a521853f
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
A llvm/lib/Target/BPF/BPFPassRegistry.def
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
Log Message:
-----------
[NewPM][BPF] Add BPFPassRegistry.def NFCI (#86241)
Prepare migration for dag-isel.
Commit: 635ea257eca7c8e95c6ea30ca3816a0b5584ab37
https://github.com/llvm/llvm-project/commit/635ea257eca7c8e95c6ea30ca3816a0b5584ab37
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/lib/Target/BPF/CMakeLists.txt
Log Message:
-----------
[NewPM] Fix BPF build (#86379)
Add Passes in dependency list
Commit: 6c1932ffd82e733325180fe13ef46b24ff606eab
https://github.com/llvm/llvm-project/commit/6c1932ffd82e733325180fe13ef46b24ff606eab
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryBuiltins.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/MC/MCStreamer.cpp
Log Message:
-----------
[LLVM] Pass APInt by const reference. NFC. (#86278)
This patch adjusts argument passing for `APInt` to improve the
compile-time.
Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=d1f182c895728d89c5c3d198b133e212a5d9d4a3&to=32d6611af69bf4e76373f9bc7d9649650f760e48&stat=instructions:u
Commit: 2f1f6b704d83f87be7ea885480caf1c86d8cfaee
https://github.com/llvm/llvm-project/commit/2f1f6b704d83f87be7ea885480caf1c86d8cfaee
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/include/llvm/Analysis/MemoryBuiltins.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
Log Message:
-----------
[LLVM] Use `std::move` for APInt. NFC. (#86257)
This patch adjusts argument passing for `APInt` to improve the
compile-time.
Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=d1f182c895728d89c5c3d198b133e212a5d9d4a3&to=ba3e326def3a6e5cd6d72ff5a49c74fba18de1df&stat=instructions:u
Commit: ef57977f2aa32661a09fa6538f47ddee0a004d11
https://github.com/llvm/llvm-project/commit/ef57977f2aa32661a09fa6538f47ddee0a004d11
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
A llvm/lib/Target/Hexagon/HexagonPassRegistry.def
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse.ll
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_commutative.ll
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_constant.ll
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_invalid.ll
M llvm/test/CodeGen/Hexagon/hvx-loopidiom-memcpy.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/hexagon-memmove1.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/hexagon-memmove2.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/lcssa.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/memmove-rt-check.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/nullptr-crash.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-infinite-loop.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-long-loop.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-shiftconv-fail.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy.ll
Log Message:
-----------
[NewPM][Hexagon] Add HexagonPassRegistry.def (#86244)
Prepare for dag-isel, also migrate some test case
Commit: 691b97c884a15a7eac641ddf67c9f2f30fb4e747
https://github.com/llvm/llvm-project/commit/691b97c884a15a7eac641ddf67c9f2f30fb4e747
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/aarch64-gnu-ifunc-nonpreemptable.s
M lld/test/ELF/gnu-ifunc-dyntags.s
M lld/test/ELF/ppc32-ifunc-nonpreemptible-pic.s
M lld/test/ELF/riscv-ifunc-nonpreemptible.s
Log Message:
-----------
[ELF] Remove zero-value DT_JMPREL when IPLT is present while PLT isn't
The zero-value DT_JMPREL is benign but not needed.
This is also code simplification available after https://reviews.llvm.org/D65651
Commit: 579dc7f8441a8044b92bdfa6f0db2f91301c0eed
https://github.com/llvm/llvm-project/commit/579dc7f8441a8044b92bdfa6f0db2f91301c0eed
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-forma] Support `PointerAlignment` for pointers to members (#86253)
Fixes #85761.
Commit: 47423e9827abfdcc6b10ce41618965861b0e69a4
https://github.com/llvm/llvm-project/commit/47423e9827abfdcc6b10ce41618965861b0e69a4
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang-format][NFC] Clean up IsQualifiedPointerOrReference in TokenAnnotator
Commit: f317fd266c184bc8f9f4d7e8e03c043d3406333a
https://github.com/llvm/llvm-project/commit/f317fd266c184bc8f9f4d7e8e03c043d3406333a
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
R mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir
Log Message:
-----------
Revert "[mlir][SVE] Add e2e for 1D depthwise WC convolution (#85225)"
This reverts commit 01b1b0c1f728e2c2639edc654424f50830295989.
Breaks following AArch64 SVE buildbots:
https://lab.llvm.org/buildbot/#/builders/184/builds/11363
https://lab.llvm.org/buildbot/#/builders/176/builds/9331
Commit: d7c672834ec863b458af8ca493157e1e31aaf480
https://github.com/llvm/llvm-project/commit/d7c672834ec863b458af8ca493157e1e31aaf480
Author: XChy <xxs_chy at outlook.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/and-sink.ll
Log Message:
-----------
[CodeGen][NFC] Update tests in AArch64/and-sink.ll
Commit: d365a45cb3eaa640b09874fb7984a6a69683c773
https://github.com/llvm/llvm-project/commit/d365a45cb3eaa640b09874fb7984a6a69683c773
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-unreachable.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-exceptions.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-trap.mir
M llvm/test/CodeGen/AArch64/GlobalISel/uaddo-8-16-bits.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap.mir
A llvm/test/CodeGen/Mips/GlobalISel/instruction-select/trap.mir
R llvm/test/CodeGen/Mips/GlobalISel/legalizer/trap.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/trap.mir
M llvm/test/CodeGen/X86/GlobalISel/x86-select-trap.mir
A llvm/test/CodeGen/X86/isel-traps.ll
A llvm/test/MachineVerifier/test_g_ubsantrap.mir
Log Message:
-----------
[GlobalISel] Introduce G_TRAP, G_DEBUGTRAP, G_UBSANTRAP (#84941)
Here we introduce three new GMIR instructions to cover a set of trap
intrinsics. The idea behind it is that generic intrinsics shouldn't be
used with G_INTRINSIC opcode.
These new instructions can match perfectly with existing trap ISD nodes.
It allows X86, AArch64, RISCV and Mips to reuse SelectionDAG patterns for
selection and avoid manual selection. However AMDGPU is an exception. It
selects traps during legalization regardless SelectionDAG or GlobalISel.
Since there are not many places where traps are used, this change
attempts to clean up all the usages of G_INTRINSIC with trap intrinsics. So,
there is no stage when both G_TRAP and
G_INTRINSIC_W_SIDE_EFFECTS(@llvm.trap) are allowed.
Commit: f886dfed3ae6cf70827cedc8d8aefde6250a239b
https://github.com/llvm/llvm-project/commit/f886dfed3ae6cf70827cedc8d8aefde6250a239b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Don't push and pop extensions diagnostics when using clang modules (#85917)
Clang modules take a significant compile time hit when pushing and
popping diagnostics. Since all the headers are marked as system headers
in the modulemap, we can simply disable this pushing and popping when
building with clang modules.
Commit: 57146daeaaf366050dc913db910fcc2995a3e06d
https://github.com/llvm/llvm-project/commit/57146daeaaf366050dc913db910fcc2995a3e06d
Author: Harvin Iriawan <25712785+harviniriawan at users.noreply.github.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-sme2-asm.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll
Log Message:
-----------
[CodeGen] Update for scalable MemoryType in MMO (#70452)
Remove getSizeOrUnknown call when MachineMemOperand is created. For Scalable
TypeSize, the MemoryType created becomes a scalable_vector.
2 MMOs that have scalable memory access can then use the updated BasicAA that
understands scalable LocationSize.
Original Patch by Harvin Iriawan
Co-authored-by: David Green <david.green at arm.com>
Commit: b68e2eba0bc8dd70b88f4271831139ee9b6ed25c
https://github.com/llvm/llvm-project/commit/b68e2eba0bc8dd70b88f4271831139ee9b6ed25c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/mismatch.bench.cpp
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/mismatch.h
A libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__bit/bit_cast.h
M libcxx/include/__bit/countr.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
Log Message:
-----------
[libc++] Vectorize mismatch (#73255)
```
---------------------------------------------------
Benchmark old new
---------------------------------------------------
bm_mismatch<char>/1 0.835 ns 2.37 ns
bm_mismatch<char>/2 1.44 ns 2.60 ns
bm_mismatch<char>/3 2.06 ns 2.83 ns
bm_mismatch<char>/4 2.60 ns 3.29 ns
bm_mismatch<char>/5 3.15 ns 3.77 ns
bm_mismatch<char>/6 3.82 ns 4.17 ns
bm_mismatch<char>/7 4.29 ns 4.52 ns
bm_mismatch<char>/8 4.78 ns 4.86 ns
bm_mismatch<char>/16 9.06 ns 7.54 ns
bm_mismatch<char>/64 31.7 ns 19.1 ns
bm_mismatch<char>/512 249 ns 8.16 ns
bm_mismatch<char>/4096 1956 ns 44.2 ns
bm_mismatch<char>/32768 15498 ns 501 ns
bm_mismatch<char>/262144 123965 ns 4479 ns
bm_mismatch<char>/1048576 495668 ns 21306 ns
bm_mismatch<short>/1 0.710 ns 2.12 ns
bm_mismatch<short>/2 1.03 ns 2.66 ns
bm_mismatch<short>/3 1.29 ns 3.56 ns
bm_mismatch<short>/4 1.68 ns 4.29 ns
bm_mismatch<short>/5 1.96 ns 5.18 ns
bm_mismatch<short>/6 2.59 ns 5.91 ns
bm_mismatch<short>/7 2.86 ns 6.63 ns
bm_mismatch<short>/8 3.19 ns 7.33 ns
bm_mismatch<short>/16 5.48 ns 13.0 ns
bm_mismatch<short>/64 16.6 ns 4.06 ns
bm_mismatch<short>/512 130 ns 13.8 ns
bm_mismatch<short>/4096 985 ns 93.8 ns
bm_mismatch<short>/32768 7846 ns 1002 ns
bm_mismatch<short>/262144 63217 ns 10637 ns
bm_mismatch<short>/1048576 251782 ns 42471 ns
bm_mismatch<int>/1 0.716 ns 1.91 ns
bm_mismatch<int>/2 1.21 ns 2.49 ns
bm_mismatch<int>/3 1.38 ns 3.46 ns
bm_mismatch<int>/4 1.71 ns 4.04 ns
bm_mismatch<int>/5 2.00 ns 4.98 ns
bm_mismatch<int>/6 2.43 ns 5.67 ns
bm_mismatch<int>/7 3.05 ns 6.38 ns
bm_mismatch<int>/8 3.22 ns 7.09 ns
bm_mismatch<int>/16 5.18 ns 12.8 ns
bm_mismatch<int>/64 16.6 ns 5.28 ns
bm_mismatch<int>/512 129 ns 25.2 ns
bm_mismatch<int>/4096 1009 ns 201 ns
bm_mismatch<int>/32768 7776 ns 2144 ns
bm_mismatch<int>/262144 62371 ns 20551 ns
bm_mismatch<int>/1048576 254750 ns 90097 ns
```
Commit: 3f5e649ff64a92a732027ef76e33a1c8b1722d84
https://github.com/llvm/llvm-project/commit/3f5e649ff64a92a732027ef76e33a1c8b1722d84
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Fix linking to LLVM dylib (#86397)
Use `LINK_COMPONENTS` parameter of `add_llvm_library` rather than
passing LLVM components directly to `target_link_libraries`, in order to
ensure that LLVM dylib is linked correctly when used. Otherwise, CMake
insists on linking to static libraries that aren't present on
distributions doing pure dylib installs, such as Gentoo.
This fixes a regression introduced
in dcbddc25250158469c5635ad2ae4095faef53dfd.
Commit: d7ce6b4d96c8879f38ba4cb5fdb1cc09d5b129e5
https://github.com/llvm/llvm-project/commit/d7ce6b4d96c8879f38ba4cb5fdb1cc09d5b129e5
Author: Mike Rice <michael.p.rice at intel.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
Log Message:
-----------
[clang-tidy] Fix result check after overwriteChangedFiles() (#86360)
If any return from overwriteChangedFiles is true some fixes were not
applied.
Commit: 87c7f4a12b2a1b723a78d760761ee473f52c4cee
https://github.com/llvm/llvm-project/commit/87c7f4a12b2a1b723a78d760761ee473f52c4cee
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
Log Message:
-----------
[MC] Remove unnecessary reversal of relocations. NFC
Commit f44db24e1fd948c75c87aea017646f16553d3361 (2015) enabled this
simplication.
Commit: 3a63f737e29a2382c8ec26c0d360bd77c01a27a1
https://github.com/llvm/llvm-project/commit/3a63f737e29a2382c8ec26c0d360bd77c01a27a1
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
[MC] Refactor writeRelocations. NFC
MIPS is different and should better off use separate code.
Commit: 39c8e87717fbc611b9e84f62edf656608ae52e5c
https://github.com/llvm/llvm-project/commit/39c8e87717fbc611b9e84f62edf656608ae52e5c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Move recording of Inst->VPValue to VPRecipeBuilder (NFCI). (#84464)
Instead of keeping a mapping of Inst->VPValues (of their corresponding
recipes) in VPlan's Value2VPValue mapping, keep it in VPRecipeBuilder
instead. After recently replacing the last user of this mapping after
initial construction, this mapping is only needed for recipe
construction (to map IR operands to VPValue operands).
By moving the mapping, VPlan's VPValue tracking can be simplified and
limited only to live-ins. It also allows removing disableValue2VPValue
and associated machinery & asserts.
PR: https://github.com/llvm/llvm-project/pull/84464
Commit: e14c6fa31a303312d7561aa0c7219d687f3f2c75
https://github.com/llvm/llvm-project/commit/e14c6fa31a303312d7561aa0c7219d687f3f2c75
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang/CMakeLists.txt
Log Message:
-----------
[clang] [cmake] Add cmake module dir before using GetDarwinLinkerVersion (#86386)
Move the code adding top-level cmake/Modules directory to
CMAKE_MODULE_PATH prior to including `GetDarwinLinkerVersion`, in order
to fix standalone builds.
Fixes a regression introduced by
3bc71c2abfa00413fd15cf0e5c08af6ec0d4768b.
Commit: a91cd53de34fcde469d5d02e84554a06798ad2b1
https://github.com/llvm/llvm-project/commit/a91cd53de34fcde469d5d02e84554a06798ad2b1
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
Log Message:
-----------
[BOLT][NFC] Refactor BAT metadata data structures
Hide the implementations of `FuncHashes` and `BBHashMap` classes,
getting rid of `at` accessors that could throw an exception.
Test Plan: NFC
Reviewers: ayermolo, maksfb, dcci, rafaelauler
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/86353
Commit: 90a7fc366ad05a7dd0465730c055af57c80d62d9
https://github.com/llvm/llvm-project/commit/90a7fc366ad05a7dd0465730c055af57c80d62d9
Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
A llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
A llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
Log Message:
-----------
[PowerPC][NFC] Add base test case for small-local-dynamic-tls on AIX (#84711)
Commit: a118769ec8dc94b8332fe50c9240fecc8065a417
https://github.com/llvm/llvm-project/commit/a118769ec8dc94b8332fe50c9240fecc8065a417
Author: Nico Weber <thakis at chromium.org>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port 3bc71c2abf
Commit: 8e698a1d8e6984e41d2fdf159393d01951d87c21
https://github.com/llvm/llvm-project/commit/8e698a1d8e6984e41d2fdf159393d01951d87c21
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port b68e2eba0bc8
Commit: d7d2f7ca62400ed4a3f8f89062d2aeec61bd29d4
https://github.com/llvm/llvm-project/commit/d7d2f7ca62400ed4a3f8f89062d2aeec61bd29d4
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Emit intra-function control flow in YAMLBAT
Attach branch counters to YAML profile, covering intra-function control
flow.
Depends on: https://github.com/llvm/llvm-project/pull/86353
Test Plan: Updated bolt/test/X86/bolt-address-translation-yaml.test
Reviewers: rafaelauler, dcci, ayermolo, maksfb
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/76911
Commit: 7c9b5228da94a44f5e3948814d896de537d162bb
https://github.com/llvm/llvm-project/commit/7c9b5228da94a44f5e3948814d896de537d162bb
Author: Owen Anderson <resistor at mac.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/AArch64/srem-vec-crash.ll
Log Message:
-----------
Only check assertions that were meant to apply to the normal case of non-splat vector SREM expansion when we aren't hitting the special case. (#86238)
Fixes https://github.com/llvm/llvm-project/issues/84830
Introduced in https://github.com/llvm/llvm-project/pull/82706
Commit: 74799f424063a2d751e0f9ea698db1f4efd0d8b2
https://github.com/llvm/llvm-project/commit/74799f424063a2d751e0f9ea698db1f4efd0d8b2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/RawMemProfReader.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Add call stack IDs to IndexedAllocationInfo (#85888)
The indexed MemProf file has a huge amount of redundancy. In a large
internal application, 82% of call stacks, stored in
IndexedAllocationInfo::CallStack, are duplicates.
We should work toward deduplicating call stacks by referring to them
with unique IDs with actual call stacks stored in a separate data
structure, much like we refer to memprof::Frame with memprof::FrameId.
At the same time, we need to facilitate a graceful transition from the
current version of the MemProf format to the next. We should be able
to read (but not write) the current version of the MemProf file even
after we move onto the next one.
With those goals in mind, I propose to have an integer ID next to
CallStack in IndexedAllocationInfo to refer to a call stack in a
succinct manner. We'll gradually increase the areas of the compiler
where IDs and call stacks have one-to-one correspondence and
eventually remove the existing CallStack field.
This patch adds call stack ID, named CSId, to IndexedAllocationInfo
and teaches the raw profile reader to compute unique call stack IDs
and store them in the new field. It does not introduce any user of
the call stack IDs yet, except in verifyFunctionProfileData.
Commit: a45e58af1b381cf3c0374332386b8291ec5310f4
https://github.com/llvm/llvm-project/commit/a45e58af1b381cf3c0374332386b8291ec5310f4
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
A mlir/include/mlir/Dialect/Arith/Transforms/BufferViewFlowOpInterfaceImpl.h
A mlir/include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.h
A mlir/include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.td
M mlir/include/mlir/Dialect/Bufferization/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.h
A mlir/include/mlir/Dialect/MemRef/Transforms/BufferViewFlowOpInterfaceImpl.h
M mlir/include/mlir/InitAllDialects.h
A mlir/lib/Dialect/Arith/Transforms/BufferViewFlowOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Bufferization/IR/BufferViewFlowOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
M mlir/lib/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.cpp
A mlir/lib/Dialect/MemRef/Transforms/BufferViewFlowOpInterfaceImpl.cpp
M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bufferization] Add `BufferViewFlowOpInterface` (#78718)
This commit adds the `BufferViewFlowOpInterface` to the bufferization
dialect. This interface can be implemented by ops that operate on
buffers to indicate that a buffer op result and/or region entry block
argument may be the same buffer as a buffer operand (or a view thereof).
This interface is queried by the `BufferViewFlowAnalysis`.
The new interface has two interface methods:
* `populateDependencies`: Implementations use the provided callback to
declare dependencies between operands and op results/region entry block
arguments. E.g., for `%r = arith.select %c, %m1, %m2 : memref<5xf32>`,
the interface implementation should declare two dependencies: %m1 -> %r
and %m2 -> %r.
* `mayBeTerminalBuffer`: An SSA value is a terminal buffer if the buffer
view flow analysis stops at the specified value. E.g., because the value
is a newly allocated buffer or because no further information is
available about the origin of the buffer.
Ops that implement the `RegionBranchOpInterface` or `BranchOpInterface`
do not have to implement the `BufferViewFlowOpInterface`. The buffer
dependencies can be inferred from those two interfaces.
This commit makes the `BufferViewFlowAnalysis` more accurate. For
unknown ops, it conservatively used to declare all combinations of
operands and op results/region entry block arguments as dependencies
(false positives). This is no longer the case. While the analysis is
still a "maybe" analysis with false positives (e.g., when analyzing ops
such as `arith.select` or `scf.if` where the taken branch is not known
at compile time), results and region entry block arguments of unknown
ops are now marked as terminal buffers.
This commit addresses a TODO in `BufferViewFlowAnalysis.cpp`:
```
// TODO: We should have an op interface instead of a hard-coded list of
// interfaces/ops.
```
It is no longer needed to hard-code ops.
Commit: 5d7fd6a04a6748936dece9d90481b2ba4ec97e53
https://github.com/llvm/llvm-project/commit/5d7fd6a04a6748936dece9d90481b2ba4ec97e53
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
M llvm/test/CodeGen/Mips/atomic-min-max.ll
Log Message:
-----------
[Mips] Restore wrong deletion of instruction 'and' in unsigned min/max processing. (#85902)
Fix #61881
Commit: 4acd84e7ccce6a2865f60cd2adc37a335d4f35ce
https://github.com/llvm/llvm-project/commit/4acd84e7ccce6a2865f60cd2adc37a335d4f35ce
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/test/tsan/signal_errno.cpp
M compiler-rt/test/tsan/signal_reset.cpp
M compiler-rt/test/tsan/signal_sync.cpp
M compiler-rt/test/tsan/signal_thread.cpp
M compiler-rt/test/tsan/signal_thread2.cpp
Log Message:
-----------
Revert "[compiler-rt] Also consider SIGPROF as a synchronous signal" (#86416)
Reverting #85188 with follow up patches.
This reverts commit 362d26366d0175f01ffb6085eb747a6e40f01147.
This reverts commit c9bdeabdf4b46fbf1f6a9fcbf9cd61d460b18c08.
This reverts commit 6bc6e1ace9fa8453e164fa04b5d9acd5a77e089a.
This reverts commit 01fa550ff654d6724e6da54c877032baeddff14b.
This reverts commit ddcbab37ac0e5743a8d39be3dd48d967f4c85504.
Commit: 4d69855e9d380ecb7c1f7a64c7b37258fe36f525
https://github.com/llvm/llvm-project/commit/4d69855e9d380ecb7c1f7a64c7b37258fe36f525
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang] Silence MSVC warning about shifts (NFC) (#83737)
Yes, 64-bit shifts are intended.
Commit: 6c6fe4b2aea8631001b11abee62146d4aca01cee
https://github.com/llvm/llvm-project/commit/6c6fe4b2aea8631001b11abee62146d4aca01cee
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[X86] known-never-zero.ll - add 32-bit test coverage
Enabled vector coverage as well: i686+SSE2 and x64_64+AVX
Should improve test quality for #85722
Commit: e8d5223ce4b2214e052b5b52b2e6453ffea0fe33
https://github.com/llvm/llvm-project/commit/e8d5223ce4b2214e052b5b52b2e6453ffea0fe33
Author: David Green <david.green at arm.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
Log Message:
-----------
[AArch64] Additional GISel test coverage. NFC
Commit: b3fe27f2be0585d5d2ad46f96956ccfd76ca003e
https://github.com/llvm/llvm-project/commit/b3fe27f2be0585d5d2ad46f96956ccfd76ca003e
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/scalarization.ll
Log Message:
-----------
[InstCombine] Copy flags of extractelement for extelt -> icmp combine (#86366)
Fixes #86164
Commit: 9632e1515c93453efc39752b1c9f32aedd358fbc
https://github.com/llvm/llvm-project/commit/9632e1515c93453efc39752b1c9f32aedd358fbc
Author: houndlord <45179481+houndlord at users.noreply.github.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/hadd-combine.ll
Log Message:
-----------
Match fixed width ISD::AVGFLOORS + ISD::AVGCEILS patterns (#86222)
Commit: 48048051323d5dd74057dc5f32df8c3c323afcd5
https://github.com/llvm/llvm-project/commit/48048051323d5dd74057dc5f32df8c3c323afcd5
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M lld/ELF/Arch/X86_64.cpp
M lld/test/ELF/x86-64-gotpc-relax-too-far.s
Log Message:
-----------
[lld/ELF][X86] Respect outSecOff when checking if GOTPCREL can be relaxed (#86334)
The existing implementation didn't handle when the input text section
was some offset from the output section.
This resulted in an assert in relaxGot() with an lld built with asserts
for some large binaries, or even worse, a silently broken binary with an
lld without asserts.
Commit: d4a4585165f5c6ca8c42920b70e1b47696ff1172
https://github.com/llvm/llvm-project/commit/d4a4585165f5c6ca8c42920b70e1b47696ff1172
Author: Piotr Zegar <piotr.zegar at nokia.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions.cpp
Log Message:
-----------
[clang-tidy] Ignore expresions in unevaluated context in bugprone-inc-dec-in-conditions (#85849)
Skip checking for references to variable in unevaluated context, like
decltype, static_assert and so on.
Closes #85838
Commit: 909ea28ac60760a0e9b39369b2f54a4e8f1daec9
https://github.com/llvm/llvm-project/commit/909ea28ac60760a0e9b39369b2f54a4e8f1daec9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Specificall add LLVM include dirs in plugins
Commit: 488a18738f5c275093bcc5459da69e9b4c9de074
https://github.com/llvm/llvm-project/commit/488a18738f5c275093bcc5459da69e9b4c9de074
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/lib/ExecutionEngine/JITLink/DefineExternalSectionStartAndEndSymbols.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
A llvm/test/ExecutionEngine/JITLink/AArch64/ELF_section_start_and_stop_symbols.s
Log Message:
-----------
[JITLink][ELF] Improve ELF section start/end symbol handling.
This commit adds section start and stop symbol handling to ELF/aarch64, and
fixes the section symbol prefixes (using `__start_` and `__stop_`, rather than
`__start` and `__end`). It also adds a testcase for handling of these symbols.
Commit: 9f0321ccf118b37e5cb93cabd2acbf600c36b6ee
https://github.com/llvm/llvm-project/commit/9f0321ccf118b37e5cb93cabd2acbf600c36b6ee
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Make plugins depend explicitly on `intrinsics_gen`
Summary:
It's possible for the OpenMP offloading plugins to be build before
tablegen is run despite the fact that we rely on it. Simply make it
depend on it currently.
Commit: 81e2693c1202d6c4e48dbf2d985153b03cfccb79
https://github.com/llvm/llvm-project/commit/81e2693c1202d6c4e48dbf2d985153b03cfccb79
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
Log Message:
-----------
[libc++][test] Fix race condition in condition_variable_any tests (#84788)
Some tests in `condition_variable_any` use two `shared_lock` to guard,
which does not work.
The fix is to make the writer to use `unique_lock`
Commit: f0a8738401137c32f3e1b9799244ed643feb7bf0
https://github.com/llvm/llvm-project/commit/f0a8738401137c32f3e1b9799244ed643feb7bf0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
Log Message:
-----------
[VPlan] Generate CalculateTripCountMinusVF for Part 0 only. (NFCI).
The value produced by CalculateTripCountMinusVF VPInstructions is
independent of the part. Only compute it for part 0 and use that for
other parts.
Commit: 18a49f03aa2b6bfeb073648b9eb75277a2386fc4
https://github.com/llvm/llvm-project/commit/18a49f03aa2b6bfeb073648b9eb75277a2386fc4
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/test/ELF/aarch64-gnu-ifunc.s
M lld/test/ELF/arm-gnu-ifunc.s
M lld/test/ELF/gnu-ifunc-i386.s
M lld/test/ELF/systemz-ifunc-nonpreemptible.s
Log Message:
-----------
[ELF] Merge relaIplt into relaDyn
`relaIplt` was added so that IRELATIVE relocations are placed at the end
of .rela.dyn (since https://reviews.llvm.org/D65651) or .rela.plt
(--pack-dyn-relocs=android[+relr]). Unfortunately, handling `relaIplt`
requires special cases all over the code base. We can extend
partitionRels/computeRels to partition both RELATIVE and IRELATIVE
relocations, rendering `relaIplt` unneeded.
The change allows IRELATIVE relocations in the DT_ANDROID_REL[A] table
(untested?!), which may be processed before other types of relocations.
This seems acceptable for Bionic's DEFINE_IFUNC_FOR use cases.
In addition, this change simplies changing .rel[a].dyn to a compact
relocation format (CREL).
SHF_INFO_LINK is removed from .rel[a].dyn with IRELATIVE relocations.
(See https://reviews.llvm.org/D89828).
Commit: 67f2267ae006f35edfdf36567646403e61527d1b
https://github.com/llvm/llvm-project/commit/67f2267ae006f35edfdf36567646403e61527d1b
Author: Min Hsu <min at myhsu.dev>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kISelLowering.cpp
Log Message:
-----------
[M68k][NFC] Suppress warning on an unused variable when assertion is disabled
NFC.
Commit: cceedc939a43c7c732a5888364251775bffc2dba
https://github.com/llvm/llvm-project/commit/cceedc939a43c7c732a5888364251775bffc2dba
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a crash with AlignArrayOfStructures option (#86420)
Fixes #86109.
Commit: 230b1895c493c511c11541af3b5bc819887c82a8
https://github.com/llvm/llvm-project/commit/230b1895c493c511c11541af3b5bc819887c82a8
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Add folding for [S|U|LessThan[Equal] (#85435)
Add missing constant propogation folder for [S|U]LessThan[Equal].
Implement additional folding when the operands are equal for all ops.
Allows for constant folding in the IndexToSPIRV pass.
Part of work #70704
Commit: 7d2d8e2a7245e4e64da22cb3c422ea3be5a0bf0a
https://github.com/llvm/llvm-project/commit/7d2d8e2a7245e4e64da22cb3c422ea3be5a0bf0a
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Fastmath flag for the trigonometric ops in complex (#85563)
Support Fastmath flag to convert trigonometric ops in the complex
dialect.
See:
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
Commit: 2e4e04c59043a645572cf548de5d9c333a5d6641
https://github.com/llvm/llvm-project/commit/2e4e04c59043a645572cf548de5d9c333a5d6641
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr86305.ll
Log Message:
-----------
[X86][BF16] Do not lower to VCVTNEPS2BF16 without AVX512VL (#86395)
Fixes: #86305
Commit: 5e5b6561029665e69e033cff4216fecb78302259
https://github.com/llvm/llvm-project/commit/5e5b6561029665e69e033cff4216fecb78302259
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/lib/MC/MCParser/MCTargetAsmParser.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[MC] Make `MCParsedAsmOperand::getReg()` return `MCRegister` (#86444)
Commit: 6af6416e89de1f4656a145c4843226b468718434
https://github.com/llvm/llvm-project/commit/6af6416e89de1f4656a145c4843226b468718434
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
A llvm/test/CodeGen/RISCV/strip-w-suffix.ll
Log Message:
-----------
[RISCV] Add a tune feature to disable stripping W suffix (#86255)
We have a hidden option to disable it, but I'd like to make it a
tune feature.
For some implementations, instructions with W suffix would be less
costly as they only perform on 32 bits data. Though we may lose some
chances to compress.
Commit: d9746a6a5d523e21eee2c1b50c2f08aa19396965
https://github.com/llvm/llvm-project/commit/d9746a6a5d523e21eee2c1b50c2f08aa19396965
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
Log Message:
-----------
[RISCV][NFC] Pass LMUL to copyPhysRegVector
The opcode will be determined by LMUL.
Reviewers: preames, lukel97, topperc
Reviewed By: lukel97, topperc
Pull Request: https://github.com/llvm/llvm-project/pull/84448
Commit: 373e77b4c0ad9b0bf370f0e5a32a4100a5459d82
https://github.com/llvm/llvm-project/commit/373e77b4c0ad9b0bf370f0e5a32a4100a5459d82
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
Log Message:
-----------
[RISCV] Generalize (sub zext, zext) -> (sext (sub zext, zext)) to add (#86248)
This generalizes the combine added in #82455 to other binary ops,
beginning with adds in this patch.
Because the two zext operands are always +ve when treated as signed, and
we don't get any overflow since the add is carried out in at least N * 2
bits of the narrow type, the result of the add will always be +ve. So we
can use a zext for the outer extend, unlike sub which may produce a -ve
result from two +ve operands.
Although we could still use sext for add, I plan to add support for
other binary ops like mul in a later patch, but mul requires zext to be
correct (because the maximum value will take up the full N * 2 bits). So
I've opted to use zext here too for consistency.
Alive2 proof: https://alive2.llvm.org/ce/z/PRNsUM
Commit: babbdad15b8049a6a78087d15a163d897f07d320
https://github.com/llvm/llvm-project/commit/babbdad15b8049a6a78087d15a163d897f07d320
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/add_sub_u64_pseudos.mir
Log Message:
-----------
[AMDGPU] Handle non-register operands for S_SUB/ADD_U64_PSEUDO (#86104)
This pseudo uses SSrc_b64 so it allows both an immediate or a register,
but the lowering crashed on immediate operands.
Commit: fa3d789df15bd1f58fb8ba4ea3be909218cf7f03
https://github.com/llvm/llvm-project/commit/fa3d789df15bd1f58fb8ba4ea3be909218cf7f03
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/unittests/TableGen/CMakeLists.txt
M llvm/unittests/TableGen/CodeExpanderTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
R llvm/utils/TableGen/AsmWriterInst.cpp
R llvm/utils/TableGen/AsmWriterInst.h
A llvm/utils/TableGen/Basic/CMakeLists.txt
A llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
A llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
A llvm/utils/TableGen/Basic/SDNodeProperties.cpp
A llvm/utils/TableGen/Basic/SDNodeProperties.h
A llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
M llvm/utils/TableGen/CMakeLists.txt
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
R llvm/utils/TableGen/CodeGenDAGPatterns.cpp
R llvm/utils/TableGen/CodeGenDAGPatterns.h
R llvm/utils/TableGen/CodeGenHwModes.cpp
R llvm/utils/TableGen/CodeGenHwModes.h
R llvm/utils/TableGen/CodeGenInstAlias.cpp
R llvm/utils/TableGen/CodeGenInstAlias.h
R llvm/utils/TableGen/CodeGenInstruction.cpp
R llvm/utils/TableGen/CodeGenInstruction.h
R llvm/utils/TableGen/CodeGenIntrinsics.cpp
R llvm/utils/TableGen/CodeGenIntrinsics.h
M llvm/utils/TableGen/CodeGenMapTable.cpp
R llvm/utils/TableGen/CodeGenRegisters.cpp
R llvm/utils/TableGen/CodeGenRegisters.h
R llvm/utils/TableGen/CodeGenSchedule.cpp
R llvm/utils/TableGen/CodeGenSchedule.h
R llvm/utils/TableGen/CodeGenTarget.cpp
R llvm/utils/TableGen/CodeGenTarget.h
A llvm/utils/TableGen/Common/AsmWriterInst.cpp
A llvm/utils/TableGen/Common/AsmWriterInst.h
A llvm/utils/TableGen/Common/CMakeLists.txt
A llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
A llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
A llvm/utils/TableGen/Common/CodeGenHwModes.cpp
A llvm/utils/TableGen/Common/CodeGenHwModes.h
A llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
A llvm/utils/TableGen/Common/CodeGenInstAlias.h
A llvm/utils/TableGen/Common/CodeGenInstruction.cpp
A llvm/utils/TableGen/Common/CodeGenInstruction.h
A llvm/utils/TableGen/Common/CodeGenRegisters.cpp
A llvm/utils/TableGen/Common/CodeGenRegisters.h
A llvm/utils/TableGen/Common/CodeGenSchedule.cpp
A llvm/utils/TableGen/Common/CodeGenSchedule.h
A llvm/utils/TableGen/Common/CodeGenTarget.cpp
A llvm/utils/TableGen/Common/CodeGenTarget.h
A llvm/utils/TableGen/Common/DAGISelMatcher.cpp
A llvm/utils/TableGen/Common/DAGISelMatcher.h
A llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp
A llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
A llvm/utils/TableGen/Common/GlobalISel/CodeExpander.cpp
A llvm/utils/TableGen/Common/GlobalISel/CodeExpander.h
A llvm/utils/TableGen/Common/GlobalISel/CodeExpansions.h
A llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h
A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
A llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.cpp
A llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.h
A llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
A llvm/utils/TableGen/Common/GlobalISel/Patterns.h
A llvm/utils/TableGen/Common/InfoByHwMode.cpp
A llvm/utils/TableGen/Common/InfoByHwMode.h
A llvm/utils/TableGen/Common/OptEmitter.cpp
A llvm/utils/TableGen/Common/OptEmitter.h
A llvm/utils/TableGen/Common/PredicateExpander.cpp
A llvm/utils/TableGen/Common/PredicateExpander.h
A llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
A llvm/utils/TableGen/Common/SubtargetFeatureInfo.h
A llvm/utils/TableGen/Common/Types.cpp
A llvm/utils/TableGen/Common/Types.h
A llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
A llvm/utils/TableGen/Common/VarLenCodeEmitterGen.h
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DAGISelEmitter.cpp
R llvm/utils/TableGen/DAGISelMatcher.cpp
R llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
R llvm/utils/TableGen/GlobalISel/CMakeLists.txt
R llvm/utils/TableGen/GlobalISel/CXXPredicates.cpp
R llvm/utils/TableGen/GlobalISel/CXXPredicates.h
R llvm/utils/TableGen/GlobalISel/CodeExpander.cpp
R llvm/utils/TableGen/GlobalISel/CodeExpander.h
R llvm/utils/TableGen/GlobalISel/CodeExpansions.h
R llvm/utils/TableGen/GlobalISel/CombinerUtils.h
R llvm/utils/TableGen/GlobalISel/MatchDataInfo.cpp
R llvm/utils/TableGen/GlobalISel/MatchDataInfo.h
R llvm/utils/TableGen/GlobalISel/Patterns.cpp
R llvm/utils/TableGen/GlobalISel/Patterns.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
R llvm/utils/TableGen/GlobalISelMatchTable.cpp
R llvm/utils/TableGen/GlobalISelMatchTable.h
R llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.cpp
R llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.h
R llvm/utils/TableGen/InfoByHwMode.cpp
R llvm/utils/TableGen/InfoByHwMode.h
M llvm/utils/TableGen/InstrDocsEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
R llvm/utils/TableGen/OptEmitter.cpp
R llvm/utils/TableGen/OptEmitter.h
M llvm/utils/TableGen/OptParserEmitter.cpp
M llvm/utils/TableGen/OptRSTEmitter.cpp
R llvm/utils/TableGen/PredicateExpander.cpp
R llvm/utils/TableGen/PredicateExpander.h
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
M llvm/utils/TableGen/RegisterBankEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
R llvm/utils/TableGen/SDNodeProperties.cpp
R llvm/utils/TableGen/SDNodeProperties.h
M llvm/utils/TableGen/SearchableTableEmitter.cpp
R llvm/utils/TableGen/SequenceToOffsetTable.h
M llvm/utils/TableGen/SubtargetEmitter.cpp
R llvm/utils/TableGen/SubtargetFeatureInfo.cpp
R llvm/utils/TableGen/SubtargetFeatureInfo.h
R llvm/utils/TableGen/Types.cpp
R llvm/utils/TableGen/Types.h
R llvm/utils/TableGen/VarLenCodeEmitterGen.cpp
R llvm/utils/TableGen/VarLenCodeEmitterGen.h
M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
M llvm/utils/TableGen/X86MnemonicTables.cpp
M llvm/utils/TableGen/X86RecognizableInstr.h
Log Message:
-----------
[RFC][TableGen] Restructure TableGen Source (#80847)
Refactor of the llvm-tblgen source into:
- a "Basic" library, which contains the bare minimum utilities to build
`llvm-min-tablegen`
- a "Common" library which contains all of the helpers for TableGen
backends. Such helpers can be shared by more than one backend, and even
unit tested (e.g. CodeExpander is, maybe we can add more over time)
Fixes #80647
Commit: aa962d67ee896f416e285a9298e45fc08ff95eef
https://github.com/llvm/llvm-project/commit/aa962d67ee896f416e285a9298e45fc08ff95eef
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Interpreter/Value.h
M clang/unittests/Interpreter/InterpreterTest.cpp
Log Message:
-----------
[clang-repl] Fix Value for platforms where unqualified char is unsigned (#86118)
Signedness of unqualified `char` is unspecified and varies between
platforms. This patch adds `Char_U` in `REPL_BUILTIN_TYPES` to account
for platforms that default to `unsigned char`.
Commit: 0cf4788d9d0df60980cb48d28aafe7a86aa15a14
https://github.com/llvm/llvm-project/commit/0cf4788d9d0df60980cb48d28aafe7a86aa15a14
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Interpreter/Interpreter.h
M clang/lib/Interpreter/IncrementalExecutor.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
Log Message:
-----------
[clang-repl] Factor out CreateJITBuilder() and allow specialization in derived classes (#84461)
The LLJITBuilder interface provides a very convenient way to configure
the ORCv2 JIT engine. IncrementalExecutor already used it internally to
construct the JIT, but didn't provide external access. This patch lifts
control of the creation process to the Interpreter and allows injection
of a custom instance through the extended interface. The Interpreter's
default behavior remains unchanged and the IncrementalExecutor remains
an implementation detail.
Commit: 75e528fdd9594ecb6fdb5d9e7bee1506f7e43be0
https://github.com/llvm/llvm-project/commit/75e528fdd9594ecb6fdb5d9e7bee1506f7e43be0
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.msaa.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.ll
Log Message:
-----------
[AMDGPU] Extend zero initialization of return values for TFE (#85759)
buffer_load instructions that use TFE also need to zero initialize
return values similar to how the image instructions currently work. Add
support for this with standard zero init of all results + zero init of
just TFE flag when enable-prt-strict-null subtarget feature is disabled.
Commit: 99c40f6ba60ea6e5dbd3f015956c7d2f6e25e54c
https://github.com/llvm/llvm-project/commit/99c40f6ba60ea6e5dbd3f015956c7d2f6e25e54c
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/test/CodeGen/SPIRV/instructions/ptrcmp.ll
Log Message:
-----------
[SPIR-V] Introduce a command line option to support compatibility with Khronos SPIRV Translator (#86101)
SPIRV-LLVM-Translator project
(https://github.com/KhronosGroup/SPIRV-LLVM-Translator) from Khronos
Group is a tool and a library for bi-directional translation between
SPIR-V and LLVM IR. In its backward translation from SPIR-V to LLVM IR
SPIRV-LLVM-Translator isn't necessarily able to cover the same SPIR-V
patterns/instructions set that SPIRV Backend produces, even if we target
the same SPIR-V version in both SPIRV-LLVM-Translator and SPIRV Backend
projects.
To improve interoperability and ability to apply SPIRV Backend output in
different products this PR introduces a notion of a mode of SPIR-V
output that is compatible with a subset of SPIR-V supported by
SPIRV-LLVM-Translator. This includes a new command line option that
doesn't influence default behavior of SPIRV Backend and one test case
that demonstrates how this command line option may be used to get a
practical benefit of producing that one of two possible and similar
output options that can be understood by SPIRV-LLVM-Translator.
Commit: 1d250d9099a9ba8b53add7eb7db6827e8fc0c8fd
https://github.com/llvm/llvm-project/commit/1d250d9099a9ba8b53add7eb7db6827e8fc0c8fd
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll
Log Message:
-----------
[SPIR-V] Improve type inference in SPIR-V Backend for opaque pointers (#86283)
This PR improves type inference in SPIR-V Backend for opaque pointers,
accounting or a case when there is a chain of function calls that allows
to deduce formal parameter types from actual arguments. The attached
test demonstrates the case.
Commit: b0d03ccc0855f2bff39160f25fcde06aae07cace
https://github.com/llvm/llvm-project/commit/b0d03ccc0855f2bff39160f25fcde06aae07cace
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
Log Message:
-----------
[SPIR-V] Fix illegal OpConstantComposite instruction with non-const constituents in SPIR-V Backend (#86352)
This PR fixes illegal use of OpConstantComposite with non-constant
constituents. The test attached to the PR is able now to satisfy
`spirv-val` check. Before the fix SPIR-V Backend produced for the
attached test case a pattern like
```
%a = OpVariable %_ptr_CrossWorkgroup_uint CrossWorkgroup %uint_123
%11 = OpConstantComposite %_struct_6 %a %a
```
so that `spirv-val` complained with
```
error: line 25: OpConstantComposite Constituent <id> '10[%a]' is not a constant or undef.
%11 = OpConstantComposite %_struct_6 %a %a
```
Commit: cbbbab349e9c412729c3969008cdcb677cc55790
https://github.com/llvm/llvm-project/commit/cbbbab349e9c412729c3969008cdcb677cc55790
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[RemoveDIs] Enable direct-to-bitcode writing by default
Follow on from #83251. This patch simply enables the behaviour by default in
order to provide an easily revertible capstone.
Commit: 3cb024198f6a028089779c0a3cb4d8e753e87c73
https://github.com/llvm/llvm-project/commit/3cb024198f6a028089779c0a3cb4d8e753e87c73
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/reduce-fmaximum.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fminimum.ll
Log Message:
-----------
[RISCV][CostModel] Estimate cost of llvm.vector.reduce.fmaximum/fminimum (#80697)
The ‘llvm.vector.reduce.fmaximum/fminimum.*’ intrinsics propagate NaNs
if any element of the vector is a NaN.
Following #79402, the patch adds the cost for NaN check (vmfne + vcpop)
Commit: e550022b68fc75d32e44faa59ed8f02036cd8f26
https://github.com/llvm/llvm-project/commit/e550022b68fc75d32e44faa59ed8f02036cd8f26
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/tools/llvm-dis/llvm-dis.cpp
Log Message:
-----------
[RemoveDIs] Load into new debug info format by default in llvm-dis (#86276)
Directly load all bitcode into the new debug info format in llvm-dis.
This means that new-mode bitcode no longer round-trips back to old-mode
after parsing, and that old-mode bitcode gets auto-upgraded to new-mode
debug info (which is the current in-memory default in LLVM).
Commit: 2ef612050844355906e4b67d892a00bbb58c41d6
https://github.com/llvm/llvm-project/commit/2ef612050844355906e4b67d892a00bbb58c41d6
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
Log Message:
-----------
[RemoveDIs] Do not load into new debug info format from bitcode by default (#86268)
This is NFC right now, as the global default behaviour is also "do not
load into the new debug info format by default", but we want to change
that soon.
Additionally unconditionally convert from the new debug info format into
if we've loaded into it (e.g., if the bitcode file loaded was already in
the new format).
The latter change is needed because verify-uselistorder doesn't yet
understand DbgRecords (it doesn't know how to map them).
The former change is needed because if we load from an old debug format
bitcode file but load directly into the new format _and then convert
back to the old mode after_, the use-lists of the debug intrinsic
functions (the functions' global value uses) change.
Commit: 8263a883342d9925a4a1fd9752efc8deda5840fc
https://github.com/llvm/llvm-project/commit/8263a883342d9925a4a1fd9752efc8deda5840fc
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
[RemoveDIs] Load into new debug info format by default in llvm-link (#86274)
Directly load all bitcode into the new debug info format in llvm-link.
This means that new-mode bitcode no longer round-trips back to old-mode
after parsing, and that old-mode bitcode gets auto-upgraded to new-mode
debug info (which is the current in-memory default in LLVM).
Commit: 772e316457ef94759804d9f4da0af70d8d2ca4d4
https://github.com/llvm/llvm-project/commit/772e316457ef94759804d9f4da0af70d8d2ca4d4
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/Sema/aarch64-sme-func-attrs.c
M clang/test/Sema/attr-target-version.c
M clang/test/SemaCXX/attr-target-version.cpp
Log Message:
-----------
[FMV] Allow multi versioning without default declaration. (#85454)
This was a limitation which has now been lifted. Please read the
thread below for more details:
https://github.com/llvm/llvm-project/pull/84405#discussion_r1525583647
Basically it allows to separate versioned implementations across
different TUs without having to share private header files which
contain the default declaration.
The ACLE spec has been updated accordingly to make this explicit:
"Each version declaration should be visible at the translation
unit in which the corresponding function version resides."
https://github.com/ARM-software/acle/pull/310
If a resolver is required (because there is a caller in the TU),
then a default declaration is implicitly generated.
Commit: 7434a6b96c68b6835a6de6e98199dcfc35981dd5
https://github.com/llvm/llvm-project/commit/7434a6b96c68b6835a6de6e98199dcfc35981dd5
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/utils/TableGen/Basic/CMakeLists.txt
M llvm/utils/TableGen/CMakeLists.txt
M llvm/utils/TableGen/Common/CMakeLists.txt
Log Message:
-----------
[TableGen] Fix Linker Errors
Fix linker errors after landing fa3d789df15bd1f58fb8ba4ea3be909218cf7f03
Commit: 336bdf1a255571f8d894e8befe4be7e9141f7541
https://github.com/llvm/llvm-project/commit/336bdf1a255571f8d894e8befe4be7e9141f7541
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
Log Message:
-----------
[verify-uselistorder] Fix a typo, fix linking
This fixes a typo from 2ef612050844355906e4b67d892a00bbb58c41d6,
which broke the build with errors like:
ld.lld: error: undefined symbol: LoadBitcodeIntoNewDbgInforFormat
>>> referenced by verify-uselistorder.cpp
>>> tools/verify-uselistorder/CMakeFiles/verify-uselistorder.dir/verify-uselistorder.cpp.o:(main)
>>> did you mean: LoadBitcodeIntoNewDbgInfoFormat
>>> defined in: lib/libLLVMBitReader.a(BitcodeReader.cpp.o)
collect2: error: ld returned 1 exit status
Commit: dbfc38ed6b3f2a9be0b1a86b2a074aad69eb58a6
https://github.com/llvm/llvm-project/commit/dbfc38ed6b3f2a9be0b1a86b2a074aad69eb58a6
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.h
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.cpp
A mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-loops.mlir
M mlir/test/Dialect/Bufferization/Transforms/buffer-deallocation-simplification.mlir
Log Message:
-----------
[mlir][bufferization] Add `BufferOriginAnalysis` (#86461)
This commit adds the `BufferOriginAnalysis`, which can be queried to
check if two buffer SSA values originate from the same allocation. This
new analysis is used in the buffer deallocation pass to fold away or
simplify `bufferization.dealloc` ops more aggressively.
The `BufferOriginAnalysis` is based on the `BufferViewFlowAnalysis`,
which collects buffer SSA value "same buffer" dependencies. E.g., given
IR such as:
```
%0 = memref.alloc()
%1 = memref.subview %0
%2 = memref.subview %1
```
The `BufferViewFlowAnalysis` will report the following "reverse"
dependencies (`resolveReverse`) for `%2`: {`%2`, `%1`, `%0`}. I.e., all
buffer SSA values in the reverse use-def chain that originate from the
same allocation as `%2`. The `BufferOriginAnalysis` is built on top of
that. It handles only simple cases at the moment and may conservatively
return "unknown" around certain IR with branches, memref globals and
function arguments.
This analysis enables additional simplifications during
`-buffer-deallocation-simplification`. In particular, "regular" scf.for
loop nests, that yield buffers (or reallocations thereof) in the same
order as they appear in the iter_args, are now handled much more
efficiently. Such IR patterns are generated by the sparse compiler.
Commit: 94a550dab26c4b30a187dd8e3ce431e0f915923b
https://github.com/llvm/llvm-project/commit/94a550dab26c4b30a187dd8e3ce431e0f915923b
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Log Message:
-----------
[AMDGPU][NFC] Rename Feature GFX11FullVGPRs to 1_5xVGPRs (#86468)
Commit: 37785fedabd8fa752129ef5bac3462311af91c35
https://github.com/llvm/llvm-project/commit/37785fedabd8fa752129ef5bac3462311af91c35
Author: Discookie <viktor.cseh at ericsson.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
M clang/test/Analysis/ArrayDelete.cpp
M clang/www/analyzer/alpha_checks.html
M clang/www/analyzer/available_checks.html
Log Message:
-----------
[clang][analyzer] Bring cplusplus.ArrayDelete out of alpha (#83985)
The checker finds a type of undefined behavior, where if the type of a
pointer to an object-array is different from the objects' underlying
type, calling `delete[]` is undefined, as the size of the two objects
might be different.
The checker has been in alpha for a while now, it is a simple checker
that causes no crashes, and considering the severity of the issue, it
has a low result-count on open-source projects (in my last test-run on
my usual projects, it had 0 results).
This commit cleans up the documentation and adds docs for the limitation
related to tracking through references, in addition to moving it to
`cplusplus`.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Co-authored-by: whisperity <whisperity at gmail.com>
Commit: f0eb9083402c0130f240a7ef948b3f7b3bdf221c
https://github.com/llvm/llvm-project/commit/f0eb9083402c0130f240a7ef948b3f7b3bdf221c
Author: Nathan Gauër <brioche at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveGetLaneIndex.ll
M llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
Log Message:
-----------
[SPIR-V] Add WaveGetLaneIndex() intrinsic support (#85979)
Add support to generate valid SPIR-V for the WaveGetLaneIndex() HLSL
builtin.
To implement this, I had to fix a few small issues in the backend, like
the i8* pointer type being emitted, even if we have the type information
elsewhere.
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: a0e9a8da45402eea0db71976ab78d195a7287222
https://github.com/llvm/llvm-project/commit/a0e9a8da45402eea0db71976ab78d195a7287222
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/test/Fir/boxproc-2.fir
Log Message:
-----------
[flang][NFC] speedup BoxedProcedure for derived types with many components (#86144)
This patch speeds up the compilation time of the example in
https://github.com/llvm/llvm-project/issues/76478#issuecomment-2011023289
from 2 minutes with my builds to about 2 seconds.
MLIR timers showed more than 98% of the time was spend in BoxedProcedure
trying to figure out if a type needs to be converted.
This is because walking the fir.type members is very expansive for types
containing many components and/or components with many sub-components.
Increase the caching time of visited types from "the type being visited"
to "the whole pass". Use DenseMap since it is not ok anymore to assume
this container will only have a few elements.
Commit: f5a067bb9002afeedfd6d94722af1cef698979e3
https://github.com/llvm/llvm-project/commit/f5a067bb9002afeedfd6d94722af1cef698979e3
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[SelectionDAG]: Deduce KnownNeverZero from SMIN and SMAX (#85722)
Commit: 13078cbc3eeb0ae91c370ce0f604f7165b26e0c8
https://github.com/llvm/llvm-project/commit/13078cbc3eeb0ae91c370ce0f604f7165b26e0c8
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
Log Message:
-----------
[clang-repl] Skip cross-JIT tests if specified target is not available (#84461)
Commit: aeeb7d566c9047d4e64b5fc7ea8930b93e80def9
https://github.com/llvm/llvm-project/commit/aeeb7d566c9047d4e64b5fc7ea8930b93e80def9
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Make subprogram flags optional (#86433)
This revision makes the subprogramFlags field in the DISubprogrammAttr
optional. This is necessary since the DISubprogram attached to a
declaration may have none of the subprogram flags set.
Commit: 4e29c6acd3683973e86d46bc124c78e338f1510a
https://github.com/llvm/llvm-project/commit/4e29c6acd3683973e86d46bc124c78e338f1510a
Author: David Green <david.green at arm.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
Log Message:
-----------
[AArch64] Correct Neoverse V1 SVE 16-bit sdot/udot schedule pipelines. (#86142)
Fixes #86102
Commit: 1081d3a0a7aeee795b11947d850cecc9c63a187a
https://github.com/llvm/llvm-project/commit/1081d3a0a7aeee795b11947d850cecc9c63a187a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
Log Message:
-----------
[VPlan] Mark CanonicalIVIncrementForPart as only using part 0 of IV.
CanonicalIVIncrementForPart uses VPIteration(0, 0) of the IV (first
operand), mark it as only using part 0.
This avoids generating redundant IV increments per part.
Commit: e1d4ddb0c68f69001d7de43d9c678f4d73c1ecba
https://github.com/llvm/llvm-project/commit/e1d4ddb0c68f69001d7de43d9c678f4d73c1ecba
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
A clang/test/Analysis/getline-cpp.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
Log Message:
-----------
Reapply "[analyzer] Accept C library functions from the `std` namespace" again (#85791)
This reapplies 80ab8234ac309418637488b97e0a62d8377b2ecf again, after
fixing a name collision warning in the unit tests (see the revert commit
13ccaf9b9d4400bb128b35ff4ac733e4afc3ad1c for details).
In addition to the previously applied changes, this commit also clarifies the
code in MallocChecker that distinguishes POSIX "getline()" and C++ standard
library "std::getline()" (which are two completely different functions). Note
that "std::getline()" was (accidentally) handled correctly even without this
clarification; but it's better to explicitly handle and test this corner case.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 6b8bb29c26765ab085cd0986168407f5586f620e
https://github.com/llvm/llvm-project/commit/6b8bb29c26765ab085cd0986168407f5586f620e
Author: Christian Sigg <csigg at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm][bazel] Update BUILD file after fa3d789df15bd1f58fb8ba4ea3be909218cf7f03.
Commit: edcf65d40c4160db0a888e801560a671b10179d2
https://github.com/llvm/llvm-project/commit/edcf65d40c4160db0a888e801560a671b10179d2
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/do20.f90
Log Message:
-----------
[flang][OpenMP] Allow loop iteration variables in DSA clauses (#86194)
Iteration variables of non-associated loops may be listed in DSA
clauses.
Fixes https://github.com/llvm/llvm-project/issues/78938
Commit: 684ca6a25ae0a4b8d015ed321f7e99cb7153951e
https://github.com/llvm/llvm-project/commit/684ca6a25ae0a4b8d015ed321f7e99cb7153951e
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/defs.bzl
Log Message:
-----------
[bazel] Format defs.bzl
Commit: 46a737cef2a709d5c121ab616fc80088ce2eed46
https://github.com/llvm/llvm-project/commit/46a737cef2a709d5c121ab616fc80088ce2eed46
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/utils/TableGen/Common/CMakeLists.txt
Log Message:
-----------
[LLVM] Fix linking object library in tablegen
Summary:
The patch https://github.com/llvm/llvm-project/pull/80847 introduced
some changes to how we build tablegen. Some files weren't build included
properly on my build. We don't need to fish out the objects directly
from an object library build, we can simply add it to the link libraries
and CMake will include them for you. This fixed the issue of missings
defs for me and is more canonical.
Commit: 4bb9f918ff4e2a932ce1e3da5f14103778b04136
https://github.com/llvm/llvm-project/commit/4bb9f918ff4e2a932ce1e3da5f14103778b04136
Author: Jianbang Yang <yangjianbang112 at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] fix out-of-bound index in tensor.dim (#85901)
fix a crash when fold tensor.dim with out-of-bound index.
Fixes: https://github.com/llvm/llvm-project/issues/70183
Commit: e6f63a942a45e3545332cd9a43982a69a4d5667b
https://github.com/llvm/llvm-project/commit/e6f63a942a45e3545332cd9a43982a69a4d5667b
Author: martinboehme <mboehme at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/unittests/Analysis/FlowSensitive/DeterminismTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Bail out if input is Objective-C++. (#86479)
We only ever intended to support C++, but the condition we were testing
allowed
Objective-C++ code by mistake.
Commit: e1a003dbbd016f57b349c87981bf210f8ec3e1e0
https://github.com/llvm/llvm-project/commit/e1a003dbbd016f57b349c87981bf210f8ec3e1e0
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Writer.cpp
Log Message:
-----------
[lld-macho][NFC] Refactor ObjCSelRefsSection => ObjCSelRefsHelper (#86456)
In a previous PR: https://github.com/llvm/llvm-project/pull/83878, the
intent was to make no functional changes, just refactor out the code for
reuse.
However, by creating `ObjCSelRefsSection` as a `SyntheticSection` - this
slightly changed the functionality of the application as the
`SyntheticSection` constructor registers the `SyntheticSection` as a
functional one - with an associated `SyntheticInputSection`.
With this change we remove this unintended consequence by making the
code not use a `SyntheticSection` as base, but just by having it be a
static helper.
Commit: b33166472c17b51b0b70a72424c2387e95f11b2d
https://github.com/llvm/llvm-project/commit/b33166472c17b51b0b70a72424c2387e95f11b2d
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
Log Message:
-----------
[flang] Fix -Wunused-variable in BoxedProcedure.cpp (NFC)
llvm-project/flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp:157:12:
error: unused variable 'it' [-Werror,-Wunused-variable]
auto it = convertedTypes.try_emplace(ty, rec);
^
1 error generated.
Commit: f7e7064992ced7795e66ab90f9a7c3195b6fa230
https://github.com/llvm/llvm-project/commit/f7e7064992ced7795e66ab90f9a7c3195b6fa230
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/fill-1d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
Log Message:
-----------
[mlir][SVE] Fix memory leaks in integration tests (#86488)
Buffers are no longer deallocated by One-Shot Bufferize - this is now
done by a separate buffer deallocation pass.
In order to see the leaks in SVE integration tests, use the following
CMake flags (enables the address sanitizer and SVE integration tests):
-DLLVM_USE_SANITIZER="Address"
-DMLIR_INCLUDE_INTEGRATION_TESTS=On
-DMLIR_RUN_ARM_SVE_TESTS=On
Follow-up for #85366
Commit: 865294b2e67d91d6e6a123db1b71a175e015a210
https://github.com/llvm/llvm-project/commit/865294b2e67d91d6e6a123db1b71a175e015a210
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/test/CodeGen/RISCV/misched-postra-direction.mir
Log Message:
-----------
[CodeGen][MISched] Add misched post-regalloc bidirectional scheduling (#77138)
This PR is stacked on #76186.
This PR keeps the default strategy as top-down since that is what
existing targets expect. It can be enabled using
`-misched-postra-direction=bidirectional`.
It is up to targets to decide whether they would like to enable this
option for themselves.
Commit: ded6252dfd96ee8904b6d2250bc9e4841ca5c802
https://github.com/llvm/llvm-project/commit/ded6252dfd96ee8904b6d2250bc9e4841ca5c802
Author: Chris B <chris.bieneman at me.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/cmake/caches/HLSL.cmake
Log Message:
-----------
[CMake][HLSL] Add SPIRV to target list for build (#86323)
This change just enables the SPIR-V target by default in the HLSL build
configurations. Since SPIR-V support is something we expect from the
full HLSL compiler releases for pairity with DXC we should enable it in
the default developer workflow.
Commit: 32b828306e346bc8e86c0b763f3514329de60ed1
https://github.com/llvm/llvm-project/commit/32b828306e346bc8e86c0b763f3514329de60ed1
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Analysis/PathDiagnostic.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/test/Analysis/analyzer-display-progress.cpp
M clang/test/Analysis/analyzer-display-progress.m
A clang/test/Analysis/analyzer-note-analysis-entry-points.cpp
Log Message:
-----------
[analyzer] Set and display CSA analysis entry points as notes on debugging (#84823)
When debugging CSA issues, sometimes it would be useful to have a
dedicated note for the analysis entry point, aka. the function name you
would need to pass as "-analyze-function=XYZ" to reproduce a specific
issue.
One way we use (or will use) this downstream is to provide tooling on
top of creduce to enhance to supercharge productivity by automatically
reduce cases on crashes for example.
This will be added only if the "-analyzer-note-analysis-entry-points" is
set or the "analyzer-display-progress" is on.
This additional entry point marker will be the first "note" if enabled,
with the following message: "[debug] analyzing from XYZ". They are
prefixed by "[debug]" to remind the CSA developer that this is only
meant to be visible for them, for debugging purposes.
CPP-5012
Commit: b282259711af7b295cb80a12880bcd8e0d1fcefa
https://github.com/llvm/llvm-project/commit/b282259711af7b295cb80a12880bcd8e0d1fcefa
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/undefined_behavior.rst
M libc/docs/math/index.rst
M libc/include/llvm-libc-macros/math-macros.h
M libc/spec/stdc.td
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/math/CMakeLists.txt
A libc/src/math/fromfp.h
A libc/src/math/fromfpf.h
A libc/src/math/fromfpf128.h
A libc/src/math/fromfpl.h
A libc/src/math/fromfpx.h
A libc/src/math/fromfpxf.h
A libc/src/math/fromfpxf128.h
A libc/src/math/fromfpxl.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fromfp.cpp
A libc/src/math/generic/fromfpf.cpp
A libc/src/math/generic/fromfpf128.cpp
A libc/src/math/generic/fromfpl.cpp
A libc/src/math/generic/fromfpx.cpp
A libc/src/math/generic/fromfpxf.cpp
A libc/src/math/generic/fromfpxf128.cpp
A libc/src/math/generic/fromfpxl.cpp
A libc/src/math/generic/ufromfp.cpp
A libc/src/math/generic/ufromfpf.cpp
A libc/src/math/generic/ufromfpf128.cpp
A libc/src/math/generic/ufromfpl.cpp
A libc/src/math/generic/ufromfpx.cpp
A libc/src/math/generic/ufromfpxf.cpp
A libc/src/math/generic/ufromfpxf128.cpp
A libc/src/math/generic/ufromfpxl.cpp
A libc/src/math/ufromfp.h
A libc/src/math/ufromfpf.h
A libc/src/math/ufromfpf128.h
A libc/src/math/ufromfpl.h
A libc/src/math/ufromfpx.h
A libc/src/math/ufromfpxf.h
A libc/src/math/ufromfpxf128.h
A libc/src/math/ufromfpxl.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/FromfpTest.h
A libc/test/src/math/smoke/FromfpxTest.h
A libc/test/src/math/smoke/UfromfpTest.h
A libc/test/src/math/smoke/UfromfpxTest.h
A libc/test/src/math/smoke/fromfp_test.cpp
A libc/test/src/math/smoke/fromfpf128_test.cpp
A libc/test/src/math/smoke/fromfpf_test.cpp
A libc/test/src/math/smoke/fromfpl_test.cpp
A libc/test/src/math/smoke/fromfpx_test.cpp
A libc/test/src/math/smoke/fromfpxf128_test.cpp
A libc/test/src/math/smoke/fromfpxf_test.cpp
A libc/test/src/math/smoke/fromfpxl_test.cpp
A libc/test/src/math/smoke/ufromfp_test.cpp
A libc/test/src/math/smoke/ufromfpf128_test.cpp
A libc/test/src/math/smoke/ufromfpf_test.cpp
A libc/test/src/math/smoke/ufromfpl_test.cpp
A libc/test/src/math/smoke/ufromfpx_test.cpp
A libc/test/src/math/smoke/ufromfpxf128_test.cpp
A libc/test/src/math/smoke/ufromfpxf_test.cpp
A libc/test/src/math/smoke/ufromfpxl_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[libc][math][c23] Add {,u}fromfp{,x}{,f,l,f128} functions (#86003)
Fixes #85279.
cc @lntue
Commit: bea17ff652bc49b2de8d6be04f77d28170a78be9
https://github.com/llvm/llvm-project/commit/bea17ff652bc49b2de8d6be04f77d28170a78be9
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/MicrosoftMangle.cpp
M clang/test/CodeGenCXX/mangle-ms-back-references.cpp
Log Message:
-----------
[clang] Correct Microsoft mangling of lifetime extended temporary objects. (#85529)
Lifetime extended temporary objects that are bound to references with
static storage duration may have external linkage and therefore require
mangled symbol names. Clang uses an extension of the Microsoft ABI to
give these symbols an implicit name of '$RT' followed by a discriminator
and then mangles them similarly to the variable they are bound to.
Clang's mangling scheme differs from the one used by MSVC.
Previously, the `$RT<discriminator>` portion of the name was not
registered as a back reference candidate and this resulted in incorrect
back references for enclosing class and/or namespace scopes that might
be referenced in the type of the object.
This is an ABI change and has the potential to cause backward
compatibility issues with previous Clang releases. Since MSVC uses a
different mangling scheme, this change does not affect compatibility
with MSVC.
This fixes one of the name mangling concerns reported in #85423.
Commit: 06cfbe3cfd44cd2ca9eb970b8c0e5f4911468440
https://github.com/llvm/llvm-project/commit/06cfbe3cfd44cd2ca9eb970b8c0e5f4911468440
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
A llvm/test/CodeGen/AMDGPU/merge-buffer-gfx12.mir
A llvm/test/CodeGen/AMDGPU/merge-buffer.mir
M llvm/test/CodeGen/AMDGPU/merge-tbuffer.mir
Log Message:
-----------
[AMDPU] Add support for idxen and bothen buffer load/store merging in SILoadStoreOptimizer (#86285)
Added more buffer instruction merging support
Commit: 564035edb0e67a177fd911fc779cd64300a9b5ef
https://github.com/llvm/llvm-project/commit/564035edb0e67a177fd911fc779cd64300a9b5ef
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Organize `genOMP` functions in OpenMP.cpp, NFC (#86309)
Put all of the genOMP functions together, organize them in two groups:
for declarative constructs and for other (executable) constructs.
Replace visit functions for OpenMPDeclarativeConstruct and
OpenMPConstruct from listing individual visitors for each variant
alternative to using a single generic visitor. Essentially, going from
```
std::visit(
[](foo x) { genOMP(foo); }
[](bar x) { TODO }
[](baz x) { genOMP(baz); }
)
```
to
```
void genOMP(bar x) { // Separate visitor for an unhandled case
TODO
}
[...]
std::visit([&](auto &&s) { genOMP(s); }) // generic
```
This doesn't change any functionality, just reorganizes the functions a
bit. The intent here is to improve the readability of this file.
Commit: 0bdb883e7c6ae836c68c3bd09cbe1305b3f656ec
https://github.com/llvm/llvm-project/commit/0bdb883e7c6ae836c68c3bd09cbe1305b3f656ec
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir
Log Message:
-----------
[mlir][SVE] Add e2e for 1D depthwise WC convolution
Follow-up for #81625
Relands #85225 with a minor update to the RUN line to fix buildbot
failures:
```diff
-// RUN: %{compile} | %{run} | FileCheck %s
+// RUN: rm -f %t && %{compile} && %{run} | FileCheck %s
```
Failing buildbots after landing #85225:
* https://lab.llvm.org/buildbot/#/builders/184/builds/11363
* https://lab.llvm.org/buildbot/#/builders/176/builds/9331
Commit: fb394562a3cf3522ac17a1436234ef5b926636fb
https://github.com/llvm/llvm-project/commit/fb394562a3cf3522ac17a1436234ef5b926636fb
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
A llvm/test/CodeGen/X86/GlobalISel/legalize-icmp-vec.mir
Log Message:
-----------
[X86][GlobalISel] Fix referencing nonexistent operand in G_ICMP (#86221)
Fixes #86203
Commit: 2b351a3b76b8e58414fb51ff52978c79904ab331
https://github.com/llvm/llvm-project/commit/2b351a3b76b8e58414fb51ff52978c79904ab331
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/test/CodeGenHLSL/builtins/pow.hlsl
Log Message:
-----------
[HLSL] Remove double pow intrinsics (#86407)
Currently, the HLSL community is re-implementing its HLSL compiler, the
DirectX Shader Compiler (DXC), in LLVM/main piece by piece. This change
removes the pow intrinsics with parameters of type double as it is not
available in DXC.
Introduced in
https://github.com/llvm/llvm-project/commit/df5137e984a607248cd31ed67aa3822e8ac2a083.
Documentation for HLSL pow function is available here:
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-pow#parameters
Closes https://github.com/llvm/llvm-project/issues/86181
Commit: 6fd3677fb4f4e806f2efa43bfa814aaf063c506c
https://github.com/llvm/llvm-project/commit/6fd3677fb4f4e806f2efa43bfa814aaf063c506c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
Fixing a think-o with swapped information
Commit: 7ee1007eddcfc4efe582512b78704038f17fa5a3
https://github.com/llvm/llvm-project/commit/7ee1007eddcfc4efe582512b78704038f17fa5a3
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C99] Claim full support for WG14 N772
No tests are added because existing tests cover this. The thrust of the
paper is that an implementation needs to support including a header
file whose name is eight character or less and contains only letters
and numbers; we definitely manage this.
Commit: 002f7808c93ee28db77383de7e802ef3beab47bd
https://github.com/llvm/llvm-project/commit/002f7808c93ee28db77383de7e802ef3beab47bd
Author: Nico Weber <thakis at chromium.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/TableGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
A llvm/utils/gn/secondary/llvm/utils/TableGen/Basic/BUILD.gn
A llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
R llvm/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn
Log Message:
-----------
[gn] port fa3d789df15b (tblgen restructure)
Commit: 8ef451072a532a9cbc1c128468fba70bbf9a38b9
https://github.com/llvm/llvm-project/commit/8ef451072a532a9cbc1c128468fba70bbf9a38b9
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
Log Message:
-----------
[JITLink][ELF][AArch64] Make include order consistent with other JITLink files.
Coding my way home: 8.98112N, 79.52094W
Commit: c15218bccb570316e4971c4b70e879a4bd6a8de9
https://github.com/llvm/llvm-project/commit/c15218bccb570316e4971c4b70e879a4bd6a8de9
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
Log Message:
-----------
[JITLink] Dump weak-ref status for external symbols in LinkGraphs.
Coding my way home: 8.98112N, 79.52094W
Commit: 94bbc18bb6469b29dc471c4af879c2ee64d62180
https://github.com/llvm/llvm-project/commit/94bbc18bb6469b29dc471c4af879c2ee64d62180
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
Log Message:
-----------
[ORC] Add some debug logging to EPCDynamicLibrarySearchGenerator.
Coding my way home: 8.98112N, 79.52094W
Commit: c4d58815506ece1a5e5e001fadbaf34b0266fd37
https://github.com/llvm/llvm-project/commit/c4d58815506ece1a5e5e001fadbaf34b0266fd37
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/DefineExternalSectionStartAndEndSymbols.h
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_section_start_and_stop_symbols.s
Log Message:
-----------
[JITLink][MachO] Handle MachO section start/end symbols.
Transform section$start$<section-name> and section$end$<section-name> external
symbols into defined symbols when a section named <section-name> is present.
rdar://125357048
Coding my way home: 8.98112N, 79.52094W
Commit: 20392687d38169c7f7de484050e734cb72630b2f
https://github.com/llvm/llvm-project/commit/20392687d38169c7f7de484050e734cb72630b2f
Author: Andrii Levitskiy <107996072+aabysswalker at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
Log Message:
-----------
[HLSL] remove double impelementation of log, sin, trunc intrinsics (#86440)
This change removes the log, log2, log10, sin, trunc intrinsics with
parameters of type double as it is not available in the DXC compiler.
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-log
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-log2
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-log10
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-sin
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-trunc
Closes #86189
Commit: a83ed0423dcafd4fecb15994a5c5c8b85a56f59b
https://github.com/llvm/llvm-project/commit/a83ed0423dcafd4fecb15994a5c5c8b85a56f59b
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/Support/DXILABI.h
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX] Follow naming conventions for enumerators in DXILABI.h. NFC (#86237)
These all-caps names differ from the llvm naming conventions for no good
reason, and `VOID` in all caps can cause problems in windows
environments (see [1]). Rename them to UpperCamelCase.
[1]: https://github.com/clangd/clangd/issues/1983
Commit: 7b3e943dfc6355488a57a7feaa125f4879ba7537
https://github.com/llvm/llvm-project/commit/7b3e943dfc6355488a57a7feaa125f4879ba7537
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/Float2Int.h
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/test/Transforms/Float2Int/basic.ll
M llvm/test/Transforms/Float2Int/pr79158.ll
Log Message:
-----------
Reapply: [Float2Int] Resolve FIXME: Pick the smallest legal type that fits (#86337)
Originally reverted because of a bug in Range that is now fixed
(#86041), we can reland this commit. Tests have been added to ensure the
miscompile that caused the revert does not happen again.
Commit: a9d1fead961440d415f931bc22c160dec88e03fd
https://github.com/llvm/llvm-project/commit/a9d1fead961440d415f931bc22c160dec88e03fd
Author: Vivian <zhyuhang88 at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/test/Dialect/SCF/for-loop-peeling-front.mlir
Log Message:
-----------
Fix the condition for peeling the first iteration (#86350)
This PR fixes the condition used in loop peeling of the first iteration.
Using ceilDiv instead of floorDiv when calculating the loop counts, so
that the first iteration gets peeled as needed.
Commit: d99cfa053998483e7283e91ff204fbe117345685
https://github.com/llvm/llvm-project/commit/d99cfa053998483e7283e91ff204fbe117345685
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A clang/test/C/C99/n696.c
M clang/www/c_status.html
Log Message:
-----------
[C99] Claim conformance to WG14 N631 and WG14 N696
Both of these relate to handling of standard pragmas. N631 is about
various STDC pragmas being included in the standard at all, and N696
is about whether macros are expanded in standard pragmas (they're not).
Commit: 96819daa3d095cf9f662e0229dc82eaaa25480e8
https://github.com/llvm/llvm-project/commit/96819daa3d095cf9f662e0229dc82eaaa25480e8
Author: David Green <david.green at arm.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/insert-subvector.ll
Log Message:
-----------
[AArch64] Handle v2i16 and v2i8 in concat load combine. (#86264)
This extends the concat load patch from
https://reviews.llvm.org/D121400, which was later moved to a combine, to
handle v2i8 and v2i16 concat loads too.
Commit: 5ef09540e16dfc81643eaf866d4ada0b52cf27b8
https://github.com/llvm/llvm-project/commit/5ef09540e16dfc81643eaf866d4ada0b52cf27b8
Author: Nico Weber <thakis at chromium.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Interpreter/BUILD.gn
Log Message:
-----------
[gn] port 4fb0805c6525b
That's an old commit, but it suddenly became load-bearing, maybe
due to 0cf4788d9d0df609
Commit: c62c74639ad6eb0988861077b7123fa2b2c17cc5
https://github.com/llvm/llvm-project/commit/c62c74639ad6eb0988861077b7123fa2b2c17cc5
Author: Cooper Partin <coopp at microsoft.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/MC/DXContainerPSVInfo.h
M llvm/include/llvm/MC/StringTableBuilder.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerPSVInfo.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
A llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
Log Message:
-----------
Add support for PSV EntryFunctionName (#86296)
This change introduces a version 3 of the PSV data that includes support
for the name of the entry function as an offset into StringTable data to
a null-terminated utf-8 string.
Additional tests were added to ensure that the new value was properly
serialized/deserialized from object data.
Fixes #80175
---------
Co-authored-by: Cooper Partin <coopp at ntdev.microsoft.com>
Commit: 33cf27b0a3f307f4c57e868fedb72f4d65ba72d9
https://github.com/llvm/llvm-project/commit/33cf27b0a3f307f4c57e868fedb72f4d65ba72d9
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
Log Message:
-----------
[RISCV][GISEL][NFC] Add typeIsLegalBoolVec and typeIsLegalIntOrFPVec helpers
Commit: ea798a79000f5df53b469ecb491d7d21479d6f24
https://github.com/llvm/llvm-project/commit/ea798a79000f5df53b469ecb491d7d21479d6f24
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-implicit-def.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/implicit-def.mir
Log Message:
-----------
[RISCV][GISEL] Legalize and regbankselect vector typed G_IMPLICIT_DEF
Commit: f3f594c6b569a1b126f390c28ec0ca3704f39e93
https://github.com/llvm/llvm-project/commit/f3f594c6b569a1b126f390c28ec0ca3704f39e93
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[NFC][lld] Pass `sym` as const reference to `GotSection`'s methods (#86481)
Commit: 2745f72a81aa73517cf43e8e4ddc4c91a1739a6a
https://github.com/llvm/llvm-project/commit/2745f72a81aa73517cf43e8e4ddc4c91a1739a6a
Author: Alan Zhao <ayzhao at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libc/src/__support/File/file.h
Log Message:
-----------
[libc][NFC] fix typo (#86540)
Commit: d179176f3e3505044ad14be19ccb3459a70206a9
https://github.com/llvm/llvm-project/commit/d179176f3e3505044ad14be19ccb3459a70206a9
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libcxx/include/__config
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/extended_grapheme_cluster_table.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/utils/generate_escaped_output_table.py
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_width_estimation_table.py
Log Message:
-----------
[libc++][format] Adds ABI tags to inline constexpr variables. (#86293)
This uses the macro on record types and inline constexpr variables. The
tagged declarations are very likely to change in future versions of
libc++:
- __fields are internal types used to control the formatter's parse
functions which fields to expect. Newer formatters may add new fields.
For example the filesystem::path formatter accepted in the recent Tokyo
meeting added a new 'g' flag, which differs from the 'g' type.
- The Unicode tables. The number of entries in these table likely differ
between Unicode versions. The tables contain only a part of all Unicode
properties. Typically they are stored in a 32-bit entry where some bits
contain the properties and other bits the size of the range. Changes in
the Unicode or C++ algorithms may require more properties to be
available in C++. This may affect the number of bits available in the
range. If needed, other declarations get the macro. This is mainly a
first time to review this approach.
This was originally https://reviews.llvm.org/D143494 where a new macro
_LIBCPP_HIDE_FROM_ABI_TYPE was defined. Testing revealed the existing
macro _LIBCPP_HIDE_FROM_ABI could be used. The "parts" of the macro that
do not affect records are not harmful. Based on this information the
existing macro was used and additional documentation was written.
Commit: 8c51ac9ddb026ca247b25b08b1d08e32b1ed58ec
https://github.com/llvm/llvm-project/commit/8c51ac9ddb026ca247b25b08b1d08e32b1ed58ec
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-select.mir
Log Message:
-----------
[RISCV][GISEL] Legalize G_SELECT for scalable vectors
Commit: 973e9dbd57bcdfcc3e0deef37d1c37fc4fbbb856
https://github.com/llvm/llvm-project/commit/973e9dbd57bcdfcc3e0deef37d1c37fc4fbbb856
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/select.mir
Log Message:
-----------
[RISCV][GISEL] Regbank select for scalable G_SELECT
Commit: 05840c8714d798c8f2873c205aeac146b4993ae5
https://github.com/llvm/llvm-project/commit/05840c8714d798c8f2873c205aeac146b4993ae5
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/select.mir
Log Message:
-----------
[RISCV][GISEL] Instruction select for scalable G_SELECT
SelectionDAG has SELECT and VSELECT
SELECT restricts the condition operand to an i1 and the true and false operands
can be vectors. The result of a SELECT has the same type as the true and
false operands.
VSELECT has a vector condition operand and the true and false operands
must be vectors. The result of a VSELECT has a vector result.
GlobalISel has G_SELECT which has condition operand that is an i1 if the
true and false operands are scalar and a vector type with i1 elements if
the true and false operands are vector.
A G_SELECT acts like a ISD::SELECT when the operands are all scalar, and
an ISD::VSELECT when the operands are are scalar. A G_SELECT cannot act
like a ISD::SELECT with an i1 condition and vector operands because the
type system.
In this patch, we would like to take advantage of the patterns written
for SELECT and VSELECT, so we mark G_SELECT equivalent to both SELECT
and VSELECT to reuse the patterns. Since we cannot write a `G_SELECT (s1),
(vector-ty), (vector-ty)`, we don't have to worry about accidently
matching the SDAG patterns of that nature.
We will probably need a way to represent an i1 condition with vector
true and false operands in the future. That can be the topic of another
patch.
Commit: 05dc5d927bc5f0eeadd277a5e31b04399415f9d0
https://github.com/llvm/llvm-project/commit/05dc5d927bc5f0eeadd277a5e31b04399415f9d0
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libc/config/linux/api.td
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/fsblkcnt_t.h
A libc/include/llvm-libc-types/fsfilcnt_t.h
A libc/include/llvm-libc-types/struct_statvfs.h
A libc/include/sys/statvfs.h.def
M libc/spec/posix.td
M libc/src/sys/CMakeLists.txt
A libc/src/sys/statvfs/CMakeLists.txt
A libc/src/sys/statvfs/fstatvfs.h
A libc/src/sys/statvfs/linux/CMakeLists.txt
A libc/src/sys/statvfs/linux/fstatvfs.cpp
A libc/src/sys/statvfs/linux/statfs_utils.h
A libc/src/sys/statvfs/linux/statvfs.cpp
A libc/src/sys/statvfs/statvfs.h
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/statvfs/CMakeLists.txt
A libc/test/src/sys/statvfs/linux/CMakeLists.txt
A libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
A libc/test/src/sys/statvfs/linux/statvfs_test.cpp
Log Message:
-----------
[libc] add statvfs/fstatvfs (#86169)
fixes #86449
Commit: 47681506ded30fada68f180b5e80f740bc76abcd
https://github.com/llvm/llvm-project/commit/47681506ded30fada68f180b5e80f740bc76abcd
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir
Log Message:
-----------
[RISCV][GISEL] Legalize G_VSCALE
G_VSCALE should be lowered using VLENB.
Commit: a2476c99b745381380eab245fc9499a4ecf0b39e
https://github.com/llvm/llvm-project/commit/a2476c99b745381380eab245fc9499a4ecf0b39e
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv64.mir
Log Message:
-----------
[RISCV][GISEL] Add regbankselect tests for G_VSCALE
Commit: c00a5ab8c4be14f63735ec61c5c9245c233cbcfc
https://github.com/llvm/llvm-project/commit/c00a5ab8c4be14f63735ec61c5c9245c233cbcfc
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale64.mir
Log Message:
-----------
[RISCV][GISEL] Add instruction select tests for G_VSCALE
Commit: 6187f271d107c11574c8d8db9d64a83095a9072c
https://github.com/llvm/llvm-project/commit/6187f271d107c11574c8d8db9d64a83095a9072c
Author: Nico Weber <thakis at chromium.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn] port fa3d789df15b more (tblgen restructure)
I had missed that both tblgens still both need a bunch of identical
cpp files. Let's just reintroduce the source_set() for them, even
though the CMake build removed the object library for them in favor
of duplicating the file list for some reason.
Commit: bd4086f0464cc6e3e85b57ae58bc6892e777297f
https://github.com/llvm/llvm-project/commit/bd4086f0464cc6e3e85b57ae58bc6892e777297f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C99] Claim conformance to "additional predefined macro names"
This feature is listed in the C99 front matter as one of the changes to
C99, but there was no associated document with that title (or anything
close to it).
I eventually tracked this down to a new requirement in C99 that
implementations defining their own pedefined macros should not name
them with a __STDC_ prefix. Clang does not do this, but there's no
tests that would demonstrate we properly "implement" this feature. So
claiming full conformance without additional test coverage.
Commit: 3305f5a980363d7e224094bc42bcbebcf162618e
https://github.com/llvm/llvm-project/commit/3305f5a980363d7e224094bc42bcbebcf162618e
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
Log Message:
-----------
[RISCV][GISEL] Check for legal element count in typeIsLegalBoolVec
https://github.com/llvm/llvm-project/pull/84553 added
typeIsLegalBoolVec but it was missing a check for minimum element count.
This patch adds that.
Commit: 32466e55b19586880199347744fc1b76d6b04cfb
https://github.com/llvm/llvm-project/commit/32466e55b19586880199347744fc1b76d6b04cfb
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/test/C/C99/n696.c
Log Message:
-----------
Add a triple to this test
Amends d99cfa053998483e7283e91ff204fbe117345685
This should address a failure found by post commit CI:
https://lab.llvm.org/buildbot/#/builders/245/builds/22321
Commit: 3cf169ca160eaf5464503fbd93d73ee1d8597936
https://github.com/llvm/llvm-project/commit/3cf169ca160eaf5464503fbd93d73ee1d8597936
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libcxx/utils/ci/Dockerfile
Log Message:
-----------
[libc++][CI] Updates the documentation. (#85264)
The documentation mentions manually pushing Docker images to the CI. The
preferred way is to use the proper GitHub action. This updates the
documentation.
---------
Co-authored-by: Will Hawkins <whh8b at obs.cr>
Commit: ce37a7131ff33bbd04bd1893de78c1bd3a1f0897
https://github.com/llvm/llvm-project/commit/ce37a7131ff33bbd04bd1893de78c1bd3a1f0897
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
Log Message:
-----------
[RISCV] Add integer RISCVISD::SELECT_CC to canCreateUndefOrPoison and isGuaranteedNotToBeUndefOrPoison. (#84693)
Integer RISCVISD::SELECT_CC doesn't create poison. If none of the,
operands are poison, the result is not poison.
This allows ISD::FREEZE to be hoisted above RISCVISD::SELECT_CC.
Commit: edfa97a8fbd5d8a763c30b083771c679d6a51a31
https://github.com/llvm/llvm-project/commit/edfa97a8fbd5d8a763c30b083771c679d6a51a31
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A clang/test/C/C99/block-scopes.c
M clang/www/c_status.html
Log Message:
-----------
[C99] Claim conformance to "new block scopes for selection and iteration statements"
I was unable to definitively locate a document number for this, but it
is potentially WG14 N759 based on the description in the C99 rationale
document.
We do implement the C89 and C99 scope rules for iteration and selection
statements, so claiming conformance here.
Commit: 3dcf62b5eea950153be5f2ddb4b79b3c6362148b
https://github.com/llvm/llvm-project/commit/3dcf62b5eea950153be5f2ddb4b79b3c6362148b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86SchedBroadwell.td
M llvm/lib/Target/X86/X86SchedHaswell.td
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-sse2.s
Log Message:
-----------
[X86] HSW/BDW - vector splat shifts don't use Port5 when loading the shift amount
Noticed while trying to compare splat vs per-element shift perf stats for #39424
Confirmed with uops.info
Commit: bc547028dc3551dc5b78bbebd3413c0129215c59
https://github.com/llvm/llvm-project/commit/bc547028dc3551dc5b78bbebd3413c0129215c59
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/reloc-types-aarch64.test
Log Message:
-----------
[llvm-readobj,test] Test R_AARCH64_AUTH_{ABS64,RELATIVE} (#86511)
Add missing tests for AUTH relocs defined in #74874
Commit: c8d70e94c4b69e809142054e75b9725ed70418af
https://github.com/llvm/llvm-project/commit/c8d70e94c4b69e809142054e75b9725ed70418af
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Fix spelling mistakes (#86013)
Commit: 6ac54105ad5a217c0cf587824dbdffde5eba4e97
https://github.com/llvm/llvm-project/commit/6ac54105ad5a217c0cf587824dbdffde5eba4e97
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/test/tools/dxil-dis/debug-info.ll
Log Message:
-----------
[DirectX] disable experimental debuginfo iterators in debug-info test (#86538)
We'll need to address this differently long term, but for now just
revert to the old behaviour to keep this test from failing.
Fixes #85884
Commit: 9056ce88042616b431f988758fff73b82fa58a08
https://github.com/llvm/llvm-project/commit/9056ce88042616b431f988758fff73b82fa58a08
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir
Log Message:
-----------
Revert "[RISCV][GISEL] Legalize G_VSCALE"
This reverts commit 47681506ded30fada68f180b5e80f740bc76abcd. It is not
consistent with SelectionDAG.
Commit: 668687f8a8ccba847e4847597d13124bd9bfdf4a
https://github.com/llvm/llvm-project/commit/668687f8a8ccba847e4847597d13124bd9bfdf4a
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
R llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv32.mir
R llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv64.mir
Log Message:
-----------
Revert "[RISCV][GISEL] Add regbankselect tests for G_VSCALE"
This reverts commit a2476c99b745381380eab245fc9499a4ecf0b39e. It is not
consistent with SelectionDAG
Commit: 8b9c3b57b158beeedf69810c2a546ab350a91e57
https://github.com/llvm/llvm-project/commit/8b9c3b57b158beeedf69810c2a546ab350a91e57
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale32.mir
R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale64.mir
Log Message:
-----------
Revert "[RISCV][GISEL] Add instruction select tests for G_VSCALE"
This reverts commit c00a5ab8c4be14f63735ec61c5c9245c233cbcfc. It is not
consistent with SelectionDAG.
Commit: 4e6745cc4db309c0e1b5e41d4598f67763f4c096
https://github.com/llvm/llvm-project/commit/4e6745cc4db309c0e1b5e41d4598f67763f4c096
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
A flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Lower simple host to device data transfer (#85960)
In CUDA Fortran data transfer can be done via assignment statements
between host and device variables.
This patch introduces a `fir.cuda_data_transfer` operation that
materialized the data transfer between two memory references.
Simple transfer not involving descriptors from host to device are also
lowered in this patch. When the rhs is an expression that required an
evaluation, a temporary is created. The evaluation is done on the host
and then the transfer is initiated.
Implicit transfer when device symbol are present on the rhs is not part
of this patch. Transfer from device to host is not part of this patch.
Commit: 3e3f0c3175a8b83a8c51bef5712dbc384385db8b
https://github.com/llvm/llvm-project/commit/3e3f0c3175a8b83a8c51bef5712dbc384385db8b
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/spec/stdc.td
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/math/CMakeLists.txt
A libc/src/math/fmaximum.h
A libc/src/math/fmaximum_mag.h
A libc/src/math/fmaximum_mag_num.h
A libc/src/math/fmaximum_mag_numf.h
A libc/src/math/fmaximum_mag_numf128.h
A libc/src/math/fmaximum_mag_numl.h
A libc/src/math/fmaximum_magf.h
A libc/src/math/fmaximum_magf128.h
A libc/src/math/fmaximum_magl.h
A libc/src/math/fmaximum_num.h
A libc/src/math/fmaximum_numf.h
A libc/src/math/fmaximum_numf128.h
A libc/src/math/fmaximum_numl.h
A libc/src/math/fmaximumf.h
A libc/src/math/fmaximumf128.h
A libc/src/math/fmaximuml.h
A libc/src/math/fminimum.h
A libc/src/math/fminimum_mag.h
A libc/src/math/fminimum_mag_num.h
A libc/src/math/fminimum_mag_numf.h
A libc/src/math/fminimum_mag_numf128.h
A libc/src/math/fminimum_mag_numl.h
A libc/src/math/fminimum_magf.h
A libc/src/math/fminimum_magf128.h
A libc/src/math/fminimum_magl.h
A libc/src/math/fminimum_num.h
A libc/src/math/fminimum_numf.h
A libc/src/math/fminimum_numf128.h
A libc/src/math/fminimum_numl.h
A libc/src/math/fminimumf.h
A libc/src/math/fminimumf128.h
A libc/src/math/fminimuml.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fmaximum.cpp
A libc/src/math/generic/fmaximum_mag.cpp
A libc/src/math/generic/fmaximum_mag_num.cpp
A libc/src/math/generic/fmaximum_mag_numf.cpp
A libc/src/math/generic/fmaximum_mag_numf128.cpp
A libc/src/math/generic/fmaximum_mag_numl.cpp
A libc/src/math/generic/fmaximum_magf.cpp
A libc/src/math/generic/fmaximum_magf128.cpp
A libc/src/math/generic/fmaximum_magl.cpp
A libc/src/math/generic/fmaximum_num.cpp
A libc/src/math/generic/fmaximum_numf.cpp
A libc/src/math/generic/fmaximum_numf128.cpp
A libc/src/math/generic/fmaximum_numl.cpp
A libc/src/math/generic/fmaximumf.cpp
A libc/src/math/generic/fmaximumf128.cpp
A libc/src/math/generic/fmaximuml.cpp
A libc/src/math/generic/fminimum.cpp
A libc/src/math/generic/fminimum_mag.cpp
A libc/src/math/generic/fminimum_mag_num.cpp
A libc/src/math/generic/fminimum_mag_numf.cpp
A libc/src/math/generic/fminimum_mag_numf128.cpp
A libc/src/math/generic/fminimum_mag_numl.cpp
A libc/src/math/generic/fminimum_magf.cpp
A libc/src/math/generic/fminimum_magf128.cpp
A libc/src/math/generic/fminimum_magl.cpp
A libc/src/math/generic/fminimum_num.cpp
A libc/src/math/generic/fminimum_numf.cpp
A libc/src/math/generic/fminimum_numf128.cpp
A libc/src/math/generic/fminimum_numl.cpp
A libc/src/math/generic/fminimumf.cpp
A libc/src/math/generic/fminimumf128.cpp
A libc/src/math/generic/fminimuml.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/FMaximumMagNumTest.h
A libc/test/src/math/smoke/FMaximumMagTest.h
A libc/test/src/math/smoke/FMaximumNumTest.h
A libc/test/src/math/smoke/FMaximumTest.h
A libc/test/src/math/smoke/FMinimumMagNumTest.h
A libc/test/src/math/smoke/FMinimumMagTest.h
A libc/test/src/math/smoke/FMinimumNumTest.h
A libc/test/src/math/smoke/FMinimumTest.h
A libc/test/src/math/smoke/fmaximum_mag_num_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numf_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numl_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_test.cpp
A libc/test/src/math/smoke/fmaximum_magf128_test.cpp
A libc/test/src/math/smoke/fmaximum_magf_test.cpp
A libc/test/src/math/smoke/fmaximum_magl_test.cpp
A libc/test/src/math/smoke/fmaximum_num_test.cpp
A libc/test/src/math/smoke/fmaximum_numf128_test.cpp
A libc/test/src/math/smoke/fmaximum_numf_test.cpp
A libc/test/src/math/smoke/fmaximum_numl_test.cpp
A libc/test/src/math/smoke/fmaximum_test.cpp
A libc/test/src/math/smoke/fmaximumf128_test.cpp
A libc/test/src/math/smoke/fmaximumf_test.cpp
A libc/test/src/math/smoke/fmaximuml_test.cpp
A libc/test/src/math/smoke/fminimum_mag_num_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numf_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numl_test.cpp
A libc/test/src/math/smoke/fminimum_mag_test.cpp
A libc/test/src/math/smoke/fminimum_magf128_test.cpp
A libc/test/src/math/smoke/fminimum_magf_test.cpp
A libc/test/src/math/smoke/fminimum_magl_test.cpp
A libc/test/src/math/smoke/fminimum_num_test.cpp
A libc/test/src/math/smoke/fminimum_numf128_test.cpp
A libc/test/src/math/smoke/fminimum_numf_test.cpp
A libc/test/src/math/smoke/fminimum_numl_test.cpp
A libc/test/src/math/smoke/fminimum_test.cpp
A libc/test/src/math/smoke/fminimumf128_test.cpp
A libc/test/src/math/smoke/fminimumf_test.cpp
A libc/test/src/math/smoke/fminimuml_test.cpp
Log Message:
-----------
[libc][math][c23] add c23 floating point fmaximum and fminimum functions. (#86016)
Fixes https://github.com/llvm/llvm-project/issues/85496.
---------
Co-authored-by: Job Hernandez <h93 at protonmail.com>
Commit: 2d40f179124f874aca4cf1145fdbc42fb8fb17f3
https://github.com/llvm/llvm-project/commit/2d40f179124f874aca4cf1145fdbc42fb8fb17f3
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/HeaderFile.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/HeaderFile.cpp
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.yaml
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
A clang/test/InstallAPI/extra-exclude-headers.test
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
[InstallAPI] Add --extra* and --exclude* cli options for header input (#86522)
InstallAPI takes a json list of headers that is typically generated from
a build system like Xcode based on a project's attributes. Sometimes,
maintainers may want to alter this for tapi input. Using e.g.
`--extra-public-headers`, users can manipulate what headers will be used
for TBD file generation.
Commit: 25bcdab47807d56ba8a06211348c5f44f030f407
https://github.com/llvm/llvm-project/commit/25bcdab47807d56ba8a06211348c5f44f030f407
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Fix indentation and 80 columns in RISCVInstrInfoZvk.td. NFC
I didn't fix all the 80 column errors just the ones in template
arguments.
Commit: f530eee4484e1b1e840238dbbd609ecac92d7c1e
https://github.com/llvm/llvm-project/commit/f530eee4484e1b1e840238dbbd609ecac92d7c1e
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix minor buildifier warnings (NFC) (#86566)
Commit: b7d8c6188986f62573b9516fe27fdd0c7df1aaf9
https://github.com/llvm/llvm-project/commit/b7d8c6188986f62573b9516fe27fdd0c7df1aaf9
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
[TextAPI] Add missing include for Expected type
Commit: 540bbe15e617991f40fcf7033f0635bd3400bf5c
https://github.com/llvm/llvm-project/commit/540bbe15e617991f40fcf7033f0635bd3400bf5c
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add td_library target for OptParser.td (#86363)
This allows downstream consumers to depend on this file. Without this
target the include paths to this are mangled by bazel.
Commit: 2eb010ddce2a8e7813a8e289004102011b1138db
https://github.com/llvm/llvm-project/commit/2eb010ddce2a8e7813a8e289004102011b1138db
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/third_party_build/pfm.BUILD
Log Message:
-----------
[bazel] Restrict libpfm to linux (#86565)
This target doesn't build on macOS (even with the upstream make based
build system) so this encodes that in the build without requiring
non-linux users to disable it manually with the starlark flag. The flag
is still respected for linux users.
Commit: 6ee39fb4c180c1425d865b2f360a09aa115549d1
https://github.com/llvm/llvm-project/commit/6ee39fb4c180c1425d865b2f360a09aa115549d1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Remove unused forceMergeOpRead from SchedTernary class. NFC
Ternary operations cannot have a merge op in addition to their 3 sources
so there is no need for this option.
Commit: 2d7df3167b12e3f3330a6b6e2f83715f8bbad67e
https://github.com/llvm/llvm-project/commit/2d7df3167b12e3f3330a6b6e2f83715f8bbad67e
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/HeaderFile.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/HeaderFile.cpp
R clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
R clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
R clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
R clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
R clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
R clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
R clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
R clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
R clang/test/InstallAPI/Inputs/Simple/Simple.yaml
R clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
R clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
R clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
R clang/test/InstallAPI/extra-exclude-headers.test
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
Revert "[InstallAPI] Add --extra* and --exclude* cli options for header input (#86522)"
This reverts commit b7d8c6188986f62573b9516fe27fdd0c7df1aaf9. And
This reverts commit 2d40f179124f874aca4cf1145fdbc42fb8fb17f3.
It caused a build failure i'll need to reproduce.
` error: could not convert ‘Rule’ from ‘llvm::Regex’ to ‘llvm::Expected<llvm::Regex>’`
Commit: cce18e40c0f1ca382e7b83ad2860430736dbf8c8
https://github.com/llvm/llvm-project/commit/cce18e40c0f1ca382e7b83ad2860430736dbf8c8
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M utils/bazel/third_party_build/pfm.BUILD
Log Message:
-----------
[bazel] Fix BUILD after 2eb010ddce2a8e7813a8e289004102011b1138db.
Commit: b7611370491873722e08e4ce9374312d0c936af1
https://github.com/llvm/llvm-project/commit/b7611370491873722e08e4ce9374312d0c936af1
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.single.2b.mir
Log Message:
-----------
[AMDGPU] Use correct VGPR threshold for flagging ExcessRP regions in unified register file case (#85860)
`ST.getMaxNumVGPRs(MF)` lowers to `AMDGPUBaseInfo.cpp:getTotalNumVGPRs`
which returns 512 for gfx90a. This is subsequently limited by
`AMDGPUBaseInfo:getAddressableNumVGPRs()`, which also returns 512 for
gfx90a. The ISA states we can have a total of 512 registers, but a
maximum of only 256 of each of AGPR and VGPR (gfx90a 3.6.4).
Therefore, in unified register file case, `ST.getMaxNumVGPRs(MF)`
calculates the maximum number of combined VGPR + AGPR. But, it is
currently used as the limit for accvgpr and as the limit for archvgpr.
This patch uses it as the combined limit, and accounts for the maximum addressable arch/acc VGPRs when calculating the per RegClass limits.
It is not unreasonable to think other clients of getTotalNumVGPRs are
using it in the wrong way.
Commit: 2cad43c1ba7d9c83ae8fb809e60a57d347e09370
https://github.com/llvm/llvm-project/commit/2cad43c1ba7d9c83ae8fb809e60a57d347e09370
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M openmp/libomptarget/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Libomptarget] Factor functions out of 'Plugin' interface (#86528)
Summary:
This patch factors common functions out of the `Plugin` interface prior
to its removal in a future patch. This simply temporarily renames it to
`PluginTy` so that we could re-use `Plugin::check` internally as this
needs to be defined statically per plugin now. We can refactor this
later.
The future patch will delete `PluginTy` and `PluginTy::get` entirely.
This simply tries to minimize a few changes to make it easier to land.
Commit: 4b941ff4b4d4c2522a12298624e2847e62a3fd7e
https://github.com/llvm/llvm-project/commit/4b941ff4b4d4c2522a12298624e2847e62a3fd7e
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/abd.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abd.ll
Log Message:
-----------
[RISCV] Add coverage for abdu and abds (absolute difference)
Test copied from aarch64 with minimal adaption. We likely need addition
coverage, but this is a reasonable starting point.
Commit: 07ee9bd215d35260c6a56b83ea95b6543db0dd64
https://github.com/llvm/llvm-project/commit/07ee9bd215d35260c6a56b83ea95b6543db0dd64
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
Log Message:
-----------
[RISCV] Add fixed vector coverage for sum-absolute-difference (sad) pattern
This builds on the previously added absolute difference cases, and adds
the reduction at the end. This is mostly interesting for examining
impact of extend placement when changing the abdu lowering.
Commit: 0fe0ef4d7f33d327b64b08a250be3713d89fa416
https://github.com/llvm/llvm-project/commit/0fe0ef4d7f33d327b64b08a250be3713d89fa416
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Remove unused tablegen class. NFC
Commit: 0a4299403e66871f88518f7399d511b72c634c1d
https://github.com/llvm/llvm-project/commit/0a4299403e66871f88518f7399d511b72c634c1d
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/unittests/CodeGen/GlobalISel/CSETest.cpp
Log Message:
-----------
[GlobalISel] Fold G_CTTZ if possible (#86224)
This patch tries to fold `G_CTTZ` if possible.
Commit: 5f1f9cfaa42a8dee59c9f3a354f973fd8cb003d7
https://github.com/llvm/llvm-project/commit/5f1f9cfaa42a8dee59c9f3a354f973fd8cb003d7
Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][Vector] Fix an assertion on failing cast in vector-transfer-flatten-patterns (#86030)
When the result is not a vectorType, there is an assert. This patch will
do the check and bail when the result is not a VectorType.
Commit: 36713a47c8fea0732bcb798ffba4e7c5d22d19f3
https://github.com/llvm/llvm-project/commit/36713a47c8fea0732bcb798ffba4e7c5d22d19f3
Author: Justin Fargnoli <justinfargnoli at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/utils/bisect-skip-count
Log Message:
-----------
[utils] Use Python3 for `bisect-skip-count` (#84979)
Commit: a9d8bf41bf9538154bcc3afcef55bdf309890c6f
https://github.com/llvm/llvm-project/commit/a9d8bf41bf9538154bcc3afcef55bdf309890c6f
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/InstallAPI/Visitor.cpp
Log Message:
-----------
[InstallAPI] Silence unused variable warning, NFC
Commit: 6646fe884c0bba531893549c5bc1b17103faef64
https://github.com/llvm/llvm-project/commit/6646fe884c0bba531893549c5bc1b17103faef64
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Compute CallStackId when deserializing IndexedAllocationInfo (#86421)
There are two ways to create in-memory instances of
IndexedAllocationInfo -- deserialization of the raw MemProf data and
that of the indexed MemProf data.
With:
commit 74799f424063a2d751e0f9ea698db1f4efd0d8b2
Author: Kazu Hirata <kazu at google.com>
Date: Sat Mar 23 19:50:15 2024 -0700
we compute CallStackId for each call stack in IndexedAllocationInfo
while deserializing the raw MemProf data.
This patch does the same while deserilizing the indexed MemProf data.
As with the patch above, this patch does not add any use of
CallStackId yet.
Commit: 7c8f7544560879dd7879657b0c0b245c00ed0158
https://github.com/llvm/llvm-project/commit/7c8f7544560879dd7879657b0c0b245c00ed0158
Author: Chris B <chris.bieneman at me.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
Log Message:
-----------
Fix failing tests after #86242 (#86572)
PR #86242 introduced a copy-paste error that caused some tests to fail
by mapping the wrong pass name to a pass. This resolves the issue and
fixes the failing tests.
Commit: 487720fc137ac7e97b15ca50ca2fc4a42430a6be
https://github.com/llvm/llvm-project/commit/487720fc137ac7e97b15ca50ca2fc4a42430a6be
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/HeaderFile.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/HeaderFile.cpp
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.yaml
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
A clang/test/InstallAPI/extra-exclude-headers.test
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
Reapply "[InstallAPI] Add --extra* and --exclude* cli options for header input (#86522)" (#86574)
Commit: d19d8e05b35221e62db76ba798995f5bc870620b
https://github.com/llvm/llvm-project/commit/d19d8e05b35221e62db76ba798995f5bc870620b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Remove unused Constraint template parameter from RISCVInstrInfoZvk.td. NFC
Commit: 1880e41a4cd0bdd5abec955134ddd49d2b016f89
https://github.com/llvm/llvm-project/commit/1880e41a4cd0bdd5abec955134ddd49d2b016f89
Author: Eric <eric at efcs.ca>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libcxx/utils/ci/oss-fuzz.sh
Log Message:
-----------
Fix the OSS fuzz build. (#86562)
The OSS fuzz build has been broken for a while because of changes
to the cmake configuration. This patch fixes the issues by defaulting to
libunwind as the default runtime
Commit: 9855134d079a193e5c17259f024082d6bb5396bf
https://github.com/llvm/llvm-project/commit/9855134d079a193e5c17259f024082d6bb5396bf
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfReader.cpp
Log Message:
-----------
[memprof] Use #ifdef EXPENSIVE_CHECKS (#86585)
This patch replaces:
#if EXPENSIVE_CHECKS
with:
#ifdef EXPENSIVE_CHECKS
to follow the existing conventions.
Commit: bce17034157fdfe4d898d30366c1eeca3442fa3d
https://github.com/llvm/llvm-project/commit/bce17034157fdfe4d898d30366c1eeca3442fa3d
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[ODS][NFC] Cast range.size() to int32_t in accumulation (#85629)
Using range.size() "as is" means we accumulate 'size_t' values into
'int32_t' variable. This may produce narrowing conversion warnings
(particularly, on MSVC). The surrounding code seems to cast <x>.size()
to 'int32_t' so following this practice seems safe enough.
Co-authored-by: Ovidiu Pintican <ovidiu.pintican at intel.com>
Commit: 930f64689c1fb487714c3836ffa43e49e46aa488
https://github.com/llvm/llvm-project/commit/930f64689c1fb487714c3836ffa43e49e46aa488
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/Core/Progress.cpp
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb] Implement coalescing of disjoint progress events (#84854)
This implements coalescing of progress events using a timeout, as
discussed in the RFC on Discourse [1]. This PR consists of two commits
which, depending on the feedback, I may split up into two PRs. For now,
I think it's easier to review this as a whole.
1. The first commit introduces a new generic `Alarm` class. The class
lets you to schedule a function (callback) to be executed after a given
timeout expires. You can cancel and reset a callback before its
corresponding timeout expires. It achieves this with the help of a
worker thread that sleeps until the next timeout expires. The only
guarantee it provides is that your function is called no sooner than the
requested timeout. Because the callback is called directly from the
worker thread, a long running callback could potentially block the
worker thread. I intentionally kept the implementation as simple as
possible while addressing the needs for the `ProgressManager` use case.
If we want to rely on this somewhere else, we can reassess whether we
need to address those limitations.
2. The second commit uses the Alarm class to coalesce progress events.
To recap the Discourse discussion, when multiple progress events with
the same title execute in close succession, they get broadcast as one to
`eBroadcastBitProgressCategory`. The `ProgressManager` keeps track of
the in-flight progress events and when the refcount hits zero, the Alarm
class is used to schedule broadcasting the event. If a new progress
event comes in before the alarm fires, the alarm is reset (and the
process repeats when the new progress event ends). If no new event comes
in before the timeout expires, the progress event is broadcast.
[1]
https://discourse.llvm.org/t/rfc-improve-lldb-progress-reporting/75717/
Commit: cb994d41c3afb2bd0b25a4c5b2ac48978bf1b23d
https://github.com/llvm/llvm-project/commit/cb994d41c3afb2bd0b25a4c5b2ac48978bf1b23d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/unittests/Interpreter/CMakeLists.txt
Log Message:
-----------
Fix build with shared libraries
/usr/bin/ld: CMakeFiles/ClangReplInterpreterTests.dir/InterpreterExtensi
onsTest.cpp.o: undefined reference to symbol '_ZN4llvm14TargetRegistry12
lookupTargetENS_9StringRefERNSt7__cxx1112basic_stringIcSt11char_traitsIc
ESaIcEEE'
/usr/bin/ld: /work/kparzysz/git/llvm.org/b/x86/lib/libLLVMMC.so.19.0git:
error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
The missing symbol is `llvm::TargetRegistry::lookupTarget`, which
interestingly enough is in MC.
Add `MC` to the list of LLVM dependencies.
Commit: 765d4c402fe2ff614a15a762bb7cefe7289663b4
https://github.com/llvm/llvm-project/commit/765d4c402fe2ff614a15a762bb7cefe7289663b4
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
Log Message:
-----------
[lldb] [ObjectFileMachO] LLVM_COV is not mapped into firmware memory (#86359)
It is possible to gather code coverage in a firmware environment, where
the __LLVM_COV segment will not be mapped in memory but does exist in
the binary, see
https://llvm.org/devmtg/2020-09/slides/PhippsAlan_EmbeddedCodeCoverage_LLVM_Conf_Talk_final.pdf
The __LLVM_COV segment in the binary happens to be at the same address
as the __DATA segment, so if lldb treats this segment as loaded, it
shadows the __DATA segment and address->symbol resolution can fail.
For these non-userland code cases, we need to mark __LLVM_COV as not a
loadable segment.
rdar://124475661
Commit: 060df78cdbbf70d5a6dfff3af1d435a5a811b886
https://github.com/llvm/llvm-project/commit/060df78cdbbf70d5a6dfff3af1d435a5a811b886
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenHLSL/builtins/dot.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/dot2_error.ll
A llvm/test/CodeGen/DirectX/dot3_error.ll
A llvm/test/CodeGen/DirectX/dot4_error.ll
A llvm/test/CodeGen/DirectX/fdot.ll
Log Message:
-----------
[DXIL] Add Float `Dot` Intrinsic Lowering (#86071)
Completes #83626
- `CGBuiltin.cpp` - modify `getDotProductIntrinsic` to be able to emit
`dot2`, `dot3`, and `dot4` intrinsics based on element count
- `IntrinsicsDirectX.td` - for floating point add `dot2`, `dot3`, and
`dot4` inntrinsics -`DXIL.td` add dxilop intrinsic lowering for `dot2`,
`dot3`, & `dot4`.
- `DXILOpLowering.cpp` - add vector arg flattening for dot product.
- `DXILOpBuilder.h` - modify `createDXILOpCall` to take a smallVector
instead of an iterator
- `DXILOpBuilder.cpp` - modify `createDXILOpCall` by moving the small
vector up to the calling function in `DXILOpLowering.cpp`.
- Moving one function up gives us access to the `CallInst` and
`Function` which were needed to distinguish the dot product intrinsics
and get the operands without using the iterator.
Commit: 4cea2d049f511d16cbc4605f7ecc908c851e169e
https://github.com/llvm/llvm-project/commit/4cea2d049f511d16cbc4605f7ecc908c851e169e
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M llvm/lib/Target/DirectX/DXIL.td
A llvm/test/CodeGen/DirectX/sqrt.ll
A llvm/test/CodeGen/DirectX/sqrt_error.ll
Log Message:
-----------
[HLSL][DXIL] implement `sqrt` intrinsic (#86560)
completes #86187
- fix hlsl_intrinsic to cover the correct cases
- move to using `__builtin_elementwise_sqrt`
- add lowering of `Intrinsic::sqrt` to dxilop 24.
Commit: de917dc20ece9f23eaefe5354bbc9ca194ce7555
https://github.com/llvm/llvm-project/commit/de917dc20ece9f23eaefe5354bbc9ca194ce7555
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M .github/workflows/pr-code-format.yml
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[workflow] Don't add a comment when the first run of the formatter passes (#86335)
This was inadvertently changed in
2120f574103c487787390263b3692c4b167f6bdf.
Commit: da385e82518618524d4efc56755662e982bfff68
https://github.com/llvm/llvm-project/commit/da385e82518618524d4efc56755662e982bfff68
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
Log Message:
-----------
[aarch64] Unguard GEPOpt from O3
This chunk of code currently runs only if the optimization mode is O3
AND the EnableGEPOpt flag is set. Given that this is the only use case
for the EnableGEPOpt flag, the guarding against O3 is kinda pointless.
IF the user wants to enable it then the flag should be sufficient.
Reviewers: TNorthover, aeubanks
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/86588
Commit: 1b763f230a83a15b3d055295b2b7113c5c2647d4
https://github.com/llvm/llvm-project/commit/1b763f230a83a15b3d055295b2b7113c5c2647d4
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
Log Message:
-----------
[BOLT] Add secondary entry points to BAT
Provide secondary entry points for `EntryDiscriminator` call info field
in YAML profile.
Increases BAT section size to:
- large binary: 39655300 bytes (1.03x the original),
- medium binary: 3834328 bytes (0.65x),
- small binary: 924 bytes (0.64x).
Depends on: https://github.com/llvm/llvm-project/pull/76911
Test Plan:
- Updated bolt-address-translation{,-yaml}.test
- Added openssl test: https://github.com/rafaelauler/bolt-tests/pull/30
Reviewers: dcci, rafaelauler, maksfb, ayermolo
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/86218
Commit: 8e625db1539b0b8c30b41cd587a11064243da6da
https://github.com/llvm/llvm-project/commit/8e625db1539b0b8c30b41cd587a11064243da6da
Author: Eric <eric at efcs.ca>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
Log Message:
-----------
Revert "Actually disable the module generation tests." (#84527)
This reverts commit 0bbada93a559b604797fe57978f3eca5e41edaeb.
The update of Clang in the CI broke due to the new LLVM version naming.
It needs to look for the clang 18.1 package instead of 18. Since it
couldn't find 18 it used 17 as fallback. This gives ODR violations which
caused the output for the module test to be wrong. (It didn't crash
which would be a lot more obvious to debug.)
The clang-tidy selection was fixed by
https://github.com/llvm/llvm-project/pull/81362. That patch also makes
clang-19 work with clang-tidy-19 out of the box.
The time-out have not been addressed; that is a CI issue and not an
issue with this test. They run in 200-ish s so they are slow but far
below the 1500s threshold. (Due to a dependency in this test it can't be
split in multiple tests.)
Commit: 2c76e88e9eb284d17cf409851fb01f1d583bb22a
https://github.com/llvm/llvm-project/commit/2c76e88e9eb284d17cf409851fb01f1d583bb22a
Author: jimingham <jingham at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lldb/source/Interpreter/OptionArgParser.cpp
A lldb/test/API/commands/target/modules/lookup/Makefile
A lldb/test/API/commands/target/modules/lookup/TestImageLookupPCExpression.py
A lldb/test/API/commands/target/modules/lookup/main.c
Log Message:
-----------
Add register lookup as another fallback computation for address-expressions (#85492)
The idea behind the address-expression is that it handles all the common
expressions that produce addresses. It handles actual valid expressions
that return a scalar, and it handles useful cases that the various
source languages don't support. At present, the fallback handles:
<symbol_name>{+-}<offset>
which isn't valid C but is very handy.
This patch adds handling of:
$<reg_name>
and
$<reg_name>{+-}<offset>
That's kind of pointless in C because the C expression parser handles
that expression already. But some languages don't have a straightforward
way to represent register values like this (swift) so having this
fallback is quite a quality of life improvement.
I added a test which tests that I didn't mess up either of these
fallbacks, though it doesn't test the actually handling of registers
that I added, since the expression parser for C succeeds in that case
and returns before this code gets run.
I will add a test on the swift fork for that checks that this works the
same way for a swift frame after this check.
Commit: 6708beb35792b5ccd6b2143b3396bf261acce676
https://github.com/llvm/llvm-project/commit/6708beb35792b5ccd6b2143b3396bf261acce676
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Remove more unneeded template parameters from RISCVInstrInfoZvk.td. NFC
Commit: 4dcb1db44f9dbfa09c220703a1b097f51d20a2a5
https://github.com/llvm/llvm-project/commit/4dcb1db44f9dbfa09c220703a1b097f51d20a2a5
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/Core/Progress.cpp
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
Revert "[lldb] Implement coalescing of disjoint progress events (#84854)"
This reverts commit 930f64689c1fb487714c3836ffa43e49e46aa488 as it's
failing on the Linux bots.
Commit: 8551454313233ecc70a329de0eb0064ecb675d50
https://github.com/llvm/llvm-project/commit/8551454313233ecc70a329de0eb0064ecb675d50
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Rename $merge to $rd in Zvk* pseudoinstructions and patterns.
These instructions use the destination operand as a source, not
only as a passthru for mask/tail.
Commit: dd7151094f94bc45668cf8629f02fe6f1975d5c9
https://github.com/llvm/llvm-project/commit/dd7151094f94bc45668cf8629f02fe6f1975d5c9
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
Log Message:
-----------
[ELF] Simplify parseArmCMSEImportLib. NFC
Commit: efa54949b947edc80069d122d771c021b64c3777
https://github.com/llvm/llvm-project/commit/efa54949b947edc80069d122d771c021b64c3777
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Remove ', vm' from comment for instruction that doesn't have mask. NFC
Commit: bc02c0825ae3cca078654ba5f8cd373b8266492e
https://github.com/llvm/llvm-project/commit/bc02c0825ae3cca078654ba5f8cd373b8266492e
Author: Iman Hosseini <hosseini.iman at yahoo.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/docs/DataLayout.md
Log Message:
-----------
[documentation] [mlir] DataLayout.md: fix broken link to DLTI dialect (#86524)
The link to DLTI dialect was broken.
Commit: 8ebf741136c66f51053315bf4f0ef828c6f66094
https://github.com/llvm/llvm-project/commit/8ebf741136c66f51053315bf4f0ef828c6f66094
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A flang/include/flang/Common/api-attrs.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Common/real.h
M flang/include/flang/Common/reference-wrapper.h
M flang/include/flang/Common/restorer.h
M flang/include/flang/Common/uint128.h
M flang/include/flang/Common/visit.h
M flang/include/flang/Decimal/binary-floating-point.h
M flang/include/flang/Decimal/decimal.h
M flang/include/flang/ISO_Fortran_binding_wrapper.h
R flang/include/flang/Runtime/api-attrs.h
M flang/include/flang/Runtime/entry-names.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Runtime/iostat.h
M flang/include/flang/Runtime/memory.h
M flang/include/flang/Runtime/type-code.h
M flang/runtime/CMakeLists.txt
M flang/runtime/buffer.cpp
M flang/runtime/buffer.h
M flang/runtime/connection.cpp
M flang/runtime/connection.h
M flang/runtime/derived.h
M flang/runtime/descriptor-io.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/edit-input.cpp
M flang/runtime/edit-input.h
M flang/runtime/edit-output.cpp
M flang/runtime/edit-output.h
M flang/runtime/emit-encoded.h
M flang/runtime/environment.h
M flang/runtime/external-unit.cpp
M flang/runtime/file.cpp
M flang/runtime/file.h
M flang/runtime/format-implementation.h
M flang/runtime/format.cpp
M flang/runtime/format.h
M flang/runtime/freestanding-tools.h
M flang/runtime/internal-unit.cpp
M flang/runtime/internal-unit.h
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/iostat.cpp
M flang/runtime/lock.h
M flang/runtime/memory.cpp
M flang/runtime/namelist.cpp
M flang/runtime/namelist.h
M flang/runtime/non-tbp-dio.h
M flang/runtime/numeric-templates.h
M flang/runtime/pointer.cpp
M flang/runtime/pseudo-unit.cpp
M flang/runtime/stat.h
M flang/runtime/terminator.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
M flang/runtime/utf.cpp
M flang/runtime/utf.h
Log Message:
-----------
[flang][runtime] Prepare enabling PRINT of integer32 for device. (#86247)
This commit adds required files into the offload build closure,
which means adding RT_API_ATTRS and other markers.
The implementation does not work for CUDA yet, because of
std::variant,swap,reverse usage. These issues will be resolved
separately (e.g. by using libcudacxx header files).
Commit: f1f06f31b89683e76b87c7665c3318df37ebb6c7
https://github.com/llvm/llvm-project/commit/f1f06f31b89683e76b87c7665c3318df37ebb6c7
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
Log Message:
-----------
[ELF] Move parse files from Driver.cpp to InputFiles.cpp. NFC
Fixes: 36146d2b6be53e5e98dee3c1fce8699db9615728
When `doParseFile template defintion` in InputFiles.cpp is optimized
out, we will get a link failure. Actually, we can move the file parsing
loop from Driver.too to InputFiles.cpp and merge it with
parseArmCMSEImportLib.
Commit: b6dfaf4c291ee186481f6c1dcab03874d931c307
https://github.com/llvm/llvm-project/commit/b6dfaf4c291ee186481f6c1dcab03874d931c307
Author: jimingham <jingham at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lldb/docs/use/python-reference.rst
Log Message:
-----------
Make the correct (5 argument) form of the command definition be the primary one suggested in the docs (#86593)
This has been available for years now, so it should be safe to always
use it.
Commit: ebb326a51fec37b5a47e5702e8ea157cd4f835cd
https://github.com/llvm/llvm-project/commit/ebb326a51fec37b5a47e5702e8ea157cd4f835cd
Author: Parth Arora <quic_partaror at quicinc.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/ScriptParser.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/SymbolTable.h
A lld/test/ELF/gc-sections-with-provide.s
M lld/test/ELF/linkerscript/symbolreferenced.s
Log Message:
-----------
[ELF] Fix unnecessary inclusion of unreferenced provide symbols
Previously, linker was unnecessarily including a PROVIDE symbol which
was referenced by another unused PROVIDE symbol. For example, if a
linker script contained the below code and 'not_used_sym' provide symbol
is not included, then linker was still unnecessarily including 'foo' PROVIDE
symbol because it was referenced by 'not_used_sym'. This commit fixes
this behavior.
PROVIDE(not_used_sym = foo)
PROVIDE(foo = 0x1000)
This commit fixes this behavior by using dfs-like algorithm to find
all the symbols referenced in provide expressions of included provide
symbols.
This commit also fixes the issue of unused section not being garbage-collected
if a symbol of the section is referenced by an unused PROVIDE symbol.
Closes #74771
Closes #84730
Co-authored-by: Fangrui Song <i at maskray.me>
Commit: 4fc8df9c6afa5ddcaaab91aad87bf713c592545d
https://github.com/llvm/llvm-project/commit/4fc8df9c6afa5ddcaaab91aad87bf713c592545d
Author: Ed Maste <emaste at freebsd.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++] Switch FreeBSD CI job to Clang 17 (#86320)
libc++ will drop support for Clang 16 before long.
Commit: 213eda157a5ffb0985d7da56a9c78aa0c345d84d
https://github.com/llvm/llvm-project/commit/213eda157a5ffb0985d7da56a9c78aa0c345d84d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Add CallSiteInfo entries in YAMLBAT (#76896)
Attach call counters to YAML profile, covering inter-function control
flow.
Depends on: https://github.com/llvm/llvm-project/pull/86218
Test Plan:
Updated bolt/test/X86/bolt-address-translation-yaml.test
Commit: 8f86c6bf9524a5f8c9ae26a6599678008d8c9386
https://github.com/llvm/llvm-project/commit/8f86c6bf9524a5f8c9ae26a6599678008d8c9386
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp
Log Message:
-----------
compiler-rt: Fix variadic macro warnings [-Wc++20-extensions]
They began complaining since #84520.
Commit: 350bda4419e15e5d68a87667988458546fa2e0c2
https://github.com/llvm/llvm-project/commit/350bda4419e15e5d68a87667988458546fa2e0c2
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
Log Message:
-----------
AMDGPU: Rename intrinsics and remove f16/bf16 versions for load transpose (#86313)
Rename the intrinsics to close to the instruction mnemonic names:
Use global_load_tr_b64 and global_load_tr_b128 instead of
global_load_tr.
This patch also removes f16/bf16 versions of builtins/intrinsics. To
simplify the design, we should avoid enumerating all possible types in
implementing builtins. We can always use bitcast.
Commit: 366592b4eb54d807ebecee122b7dd06031c5f4f9
https://github.com/llvm/llvm-project/commit/366592b4eb54d807ebecee122b7dd06031c5f4f9
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaChecking.cpp
A clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
Log Message:
-----------
[HLSL] prevent generation of double intrinsics via the builtins (#86555)
fixes #86551
closes #86552
Thanks to #86440 and #86407 it makes more sense for us to do type checks
early via Sema to prevent the generation of invalid intrinsics.
Commit: c48aa781a31c76b27cadcd1b78022393c450824b
https://github.com/llvm/llvm-project/commit/c48aa781a31c76b27cadcd1b78022393c450824b
Author: Thomas Köppe <tkoeppe at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/Matrix.h
Log Message:
-----------
Add missing declarations of explicit template instantiations. (#86591)
Found with `-Wundefined-func-template`.
Commit: 83eb8aee4bf9d518b3a2b485640207e7717805b4
https://github.com/llvm/llvm-project/commit/83eb8aee4bf9d518b3a2b485640207e7717805b4
Author: Takuto Ikuta <tikuta at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
Use timeTraceAsyncProfilerBegin for Source span (#83961)
This fixes incorrect trace for https://github.com/llvm/llvm-project/issues/56554.
This shows trace like
https://ui.perfetto.dev/#!/?s=aa809778dc50f2b155b062317fa18bbe2bb2fb9175e6282add8121c7c178214e
for the case shown in https://github.com/llvm/llvm-project/issues/83236.
https://github.com/llvm/llvm-project/pull/83778 is preparing PR.
Fix #56554
Commit: 8bd1f9116aab879183f34707e6d21c7051d083b6
https://github.com/llvm/llvm-project/commit/8bd1f9116aab879183f34707e6d21c7051d083b6
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBlocks.h
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/utils/TableGen/MveEmitter.cpp
M llvm/include/llvm/IR/IRBuilder.h
Log Message:
-----------
[CodeGen][arm64e] Add methods and data members to Address, which are needed to authenticate signed pointers (#67454)
To authenticate pointers, CodeGen needs access to the key and
discriminators that were used to sign the pointer. That information is
sometimes known from the context, but not always, which is why `Address`
needs to hold that information.
This patch adds methods and data members to `Address`, which will be
needed in subsequent patches to authenticate signed pointers, and uses
the newly added methods throughout CodeGen. Although this patch isn't
strictly NFC as it causes CodeGen to use different code paths in some
cases (e.g., `mergeAddressesInConditionalExpr`), it doesn't cause any
changes in functionality as it doesn't add any information needed for
authentication.
In addition to the changes mentioned above, this patch introduces class
`RawAddress`, which contains a pointer that we know is unsigned, and
adds several new functions for creating `Address` and `LValue` objects.
Commit: 6420f379268e9178f9f938cef223194ad3daae4e
https://github.com/llvm/llvm-project/commit/6420f379268e9178f9f938cef223194ad3daae4e
Author: YAMAMOTO Takashi <yamamoto at midokura.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-options.ll
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj-alias.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj-debuginfo.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-sjlj.ll
Log Message:
-----------
[WebAssembly] Implement an alternative translation for -wasm-enable-sjlj (#84137)
Instead of maintaining per-function-invocation malloc()'ed tables to track which functions each label belongs to, store the equivalent info in jump buffers (jmp_buf) themselves.
Also, use a less emscripten-looking ABI symbols:
```
saveSetjmp -> __wasm_setjmp
testSetjmp -> __wasm_setjmp_test
getTempRet0 -> (removed)
__wasm_longjmp -> (no change)
```
While I want to use this for WASI, it should work for emscripten as well.
An example runtime and a few tests:
https://github.com/yamt/garbage/tree/wasm-sjlj-alt2/wasm/longjmp
wasi-libc version of the runtime:
https://github.com/WebAssembly/wasi-libc/pull/483
emscripten version of the runtime:
https://github.com/emscripten-core/emscripten/pull/21502
Discussion:
https://docs.google.com/document/d/1ZvTPT36K5jjiedF8MCXbEmYjULJjI723aOAks1IdLLg/edit
Commit: 9c8dd5e6f6bd93deb95de9642632223f54a18a11
https://github.com/llvm/llvm-project/commit/9c8dd5e6f6bd93deb95de9642632223f54a18a11
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
A clang/test/CodeGen/X86/x86_64-vaarg.c
M clang/test/CodeGenCXX/x86_64-vaarg.cpp
Log Message:
-----------
[X86_64] fix SSE type error in vaarg. (#86377)
tweak the position of the ++neededSSE when Lo is NoClass and Hi is SSE.
Fix #86371.
Commit: ce73b1672a6053d5974dc2342881aac02efe2dbb
https://github.com/llvm/llvm-project/commit/ce73b1672a6053d5974dc2342881aac02efe2dbb
Author: dong jianqiang <dongjianqiang2 at huawei.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
Log Message:
-----------
[CodeExtractor] Resolving the Inconsistency of Compiled Binary Files (#86497)
When the compiler enables ALSR by default, binary inconsistency occurs
when the extractCodeRegion function is called. The reason is that the
sequence of traversing ExitBlocks containers of the SmallPtrSet type is
changed due to randomization of BasicBlock pointers.
This fixes https://github.com/llvm/llvm-project/issues/86427
Commit: 3e664ac9cd83a2f466e40d1167c08c71a719500e
https://github.com/llvm/llvm-project/commit/3e664ac9cd83a2f466e40d1167c08c71a719500e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Use inheritance instead of instantiating multiclasses inside another multiclass. NFC
Commit: 93f9fb2c825dba48db64d5f726b54bcbd4766009
https://github.com/llvm/llvm-project/commit/93f9fb2c825dba48db64d5f726b54bcbd4766009
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Rename Binary->Ternary and Unary->Binary for some cases in RISCVInstrInfoZvk.td. NFC
For instructions that use vd as an input and not just a merge, we
weren't including it in the operand count for the naming.
Commit: cc3b6f94952e1184df44c2b039d21665116151ed
https://github.com/llvm/llvm-project/commit/cc3b6f94952e1184df44c2b039d21665116151ed
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Add folding for [S|U|GreaterThan[Equal] (#85434)
Add missing constant propogation folder for [S|U]GreaterThan[Equal].
Implement additional folding when the operands are equal for all ops.
Allows for constant folding in the IndexToSPIRV pass.
Part of work #70704
Commit: a6b870db091830844431f77eb47aa30fc1d70bed
https://github.com/llvm/llvm-project/commit/a6b870db091830844431f77eb47aa30fc1d70bed
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/abd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
Log Message:
-----------
[RISCV] Enable sub(max, min) lowering for ABDS and ABDU (#86592)
We have the ISD nodes for representing signed and unsigned absolute
difference. For RISCV, we have vector min/max in the base vector
extension, so we can expand to the sub(max,min) lowering.
We could almost use the default expansion, but since fixed length
min/max are custom (not legal), the default expansion doesn't cover the
fixed vector cases. The expansion here is just a copy of the generic
code specialized to allow the custom min/max nodes to be created so they
can in turn be legalized to the _vl variants.
Existing DAG combines handle the recognition of absolute difference
idioms and conversion into the respective ISD::ABDS and ISD::ABDU nodes.
This change does have the net effect of potentially pushing a free
floating zero/sign extend after the expansion, and we don't do a great
job of folding that into later expressions. However, since in general
narrowing can reduce required work (by reducing LMUL) this seems like
the right general tradeoff.
Commit: bc31be7949a3d5382be0e15e3957fa957da9de45
https://github.com/llvm/llvm-project/commit/bc31be7949a3d5382be0e15e3957fa957da9de45
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/member-access.cpp
Log Message:
-----------
[clang][CodeComplete] Handle deref operator in getApproximateType (#86466)
This allows completing after `(*this).` in a dependent context.
Fixes https://github.com/clangd/clangd/issues/1952
Commit: 7196518f1f32d4d294bcf050790a2ba26b819645
https://github.com/llvm/llvm-project/commit/7196518f1f32d4d294bcf050790a2ba26b819645
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/test/ELF/driver.test
Log Message:
-----------
[ELF,test] Improve -r incompatibility tests
Commit: 3e046ee0c944b5a55f30b3ce0153791d91dbb134
https://github.com/llvm/llvm-project/commit/3e046ee0c944b5a55f30b3ce0153791d91dbb134
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/lto/libcall-archive.ll
Log Message:
-----------
[lld][ELF] Add `--why-extract` for bitcode libcalls (#78781)
The Wasm linker already records these and its seems useful to do so.
Commit: 08a321e1b7ffdd72154ae808821d20fe511c83b6
https://github.com/llvm/llvm-project/commit/08a321e1b7ffdd72154ae808821d20fe511c83b6
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
M mlir/lib/Dialect/Complex/IR/ComplexOps.cpp
M mlir/test/Dialect/Complex/canonicalize.mlir
Log Message:
-----------
[mlir][complex] Canonicalize complex.div by one (#85513)
We can canonicalize the complex.div if the divisor is one (real = 1.0,
imag = 0.0) with the input number itself.
Ref: https://www.cuemath.com/numbers/division-of-complex-numbers/
Commit: 64a71147024ebcc58655adc28a17c9f17a517aed
https://github.com/llvm/llvm-project/commit/64a71147024ebcc58655adc28a17c9f17a517aed
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SMInstructions.td
Log Message:
-----------
AMDGPU: Simplify SMInstruction definitions, NFC (#86613)
Copy OtherPredicates from Pseudo to Real. Real should inherit predicates
from the corresponding Pseudo
Commit: c6a65e4b0c80245d766ae2f2f7305b5371d096f5
https://github.com/llvm/llvm-project/commit/c6a65e4b0c80245d766ae2f2f7305b5371d096f5
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/test/inlayHints.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
Log Message:
-----------
[clangd] Support go-to-definition on type hints. The protocol part (#85497)
This is in preparation for implementing go-to-definition support on type
inlay hints, switching the `label` field within the InlayHint protocol from a
string to an array of `InlayHintLabelPart`.
Commit: 817f453aa576286aaca0a6b0244e6ab08516b80c
https://github.com/llvm/llvm-project/commit/817f453aa576286aaca0a6b0244e6ab08516b80c
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][TTI] Refactor getCastInstrCost to exit early (#86619)
To reduce the indentation by using early returns, this patch hoist the
return for illegal type and non vector type earlier.
It should mostly be an NFC.
Commit: 5dc0c75aabb9811e03cc8025905fed6dc2dd7bda
https://github.com/llvm/llvm-project/commit/5dc0c75aabb9811e03cc8025905fed6dc2dd7bda
Author: ShihPo Hung <shihpo.hung at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][TTI] Fix missing return in the end of function
Commit: 5c663aa9ae4656c46d09914994859118759b426b
https://github.com/llvm/llvm-project/commit/5c663aa9ae4656c46d09914994859118759b426b
Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp
M libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
Log Message:
-----------
[libc++] <experimental/simd> Reduce types for template parameter U in tests (#83781)
Commit: 6ff61914a1ef2c05702ba73cf31ffdeed59c1740
https://github.com/llvm/llvm-project/commit/6ff61914a1ef2c05702ba73cf31ffdeed59c1740
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/aarch64-ptrauth.c
Log Message:
-----------
[Driver] Reject -fptrauth-intrinsics on non-AArch64 targets
And add a driver test missing from the original patch #65996.
Commit: 6a6f9bf38e65ec45b32da4b578e2830341a9b364
https://github.com/llvm/llvm-project/commit/6a6f9bf38e65ec45b32da4b578e2830341a9b364
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/AST/APValue.cpp
Log Message:
-----------
[clang] Fix assertion failure when printing atomic apvalues (#85259)
When printing an `_Atomic(some struct type)`, we would later run into an
assertion because we do a `Ty->castAs<RecordType>()`, which doesn't work
with an `AtomicType`.
Commit: 14c30189fb8782535ac9a5a52160e3fc62e7e78c
https://github.com/llvm/llvm-project/commit/14c30189fb8782535ac9a5a52160e3fc62e7e78c
Author: Bevin Hansson <59652494+bevin-hansson at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptosi129.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptoui129.ll
Log Message:
-----------
[ExpandLargeFpConvert] Fix incorrect values in fp-to-int conversion. (#86514)
The IR for a double-to-i129 conversion looks like this in one of the
blocks in compiler-rt:
%cmp5.i = icmp ult i16 %3, -129, !dbg !24
But in ExpandLargeFpConvert, it looks like:
%13 = icmp ult i129 %12, 4294967167, !dbg !19
ExpandLargeFpConvert is wrong; the value should have been
signed before negating, but instead we get a very large
unsigned value. Another value in the same pass also has this
issue.
Commit: 4d315ff382de912e5129b417c997116851088d4b
https://github.com/llvm/llvm-project/commit/4d315ff382de912e5129b417c997116851088d4b
Author: David Green <david.green at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
Log Message:
-----------
[GlobalISel] Add CTLZ known bits. (#86436)
Replicated from SDAG.
Commit: eb70b485a91361eee83d3744d1bd3e4c3a23692f
https://github.com/llvm/llvm-project/commit/eb70b485a91361eee83d3744d1bd3e4c3a23692f
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Export more headers by a single target only. (#86637)
Ideally, header files should be used by only one target, but this is
hard because CMake is less strict with headers (no layering check). But
even with bazel, headers should only be exported once in the `hdrs`
attribute. Other targets may use them in the `srcs` attribute to avoid
circular dependencies.
Commit: 3f8431ec66ffcfaf1bd864261f425b12ab1b59b8
https://github.com/llvm/llvm-project/commit/3f8431ec66ffcfaf1bd864261f425b12ab1b59b8
Author: XChy <xxs_chy at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/ADT/SCCIterator.h
Log Message:
-----------
[SCCIterator] Union MST node by rank correctly (#86389)
Fixes #85975
Commit: 4fa736ba41fce885047bd5a242230b216ea85c70
https://github.com/llvm/llvm-project/commit/4fa736ba41fce885047bd5a242230b216ea85c70
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/include/clang/Basic/SyncScope.h
Log Message:
-----------
[Clang] NFC Silence compiler warning spam (#86532)
This non-functional change eliminates the compiler warning
```
/repo/llvm-project/clang/include/clang/Basic/SyncScope.h: In member function ‘virtual bool clang::AtomicScopeGenericModel::isValid(unsigned int) const’:
/repo/llvm-project/clang/include/clang/Basic/SyncScope.h:255:14: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
return S >= static_cast<unsigned>(System) &&
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
which was appearing repeatedly, as this header is included into very
many source files (through various chains of 6-7 header files).
Commit: fbc247367a86e8a711584801586ec9616268d889
https://github.com/llvm/llvm-project/commit/fbc247367a86e8a711584801586ec9616268d889
Author: David Green <david.green at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector-widen-crash.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xtn.mir
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/shift.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalization for small anyext/sext/zext (#86438)
Similar to #85625, some of the codegen is still far from optimal but
this helps fix quite a few fallback cases.
Commit: 256343a0e919bc09f65a8ee26751b561fa2dbfc1
https://github.com/llvm/llvm-project/commit/256343a0e919bc09f65a8ee26751b561fa2dbfc1
Author: Thomas Symalla <5754458+tsymalla at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/schedule-addrspaces.ll
M llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll
Log Message:
-----------
Revert "Update amdgpu_gfx functions to use s0-s3 for inreg SGPR arguments on targets using scratch instructions for stack #78226" (#86273)
Reverts llvm/llvm-project#81394
This reverts commit 3ac243bc0d7922d083af2cf025247b5698556062.
It is not handling RSrc registers s0-s3 correctly. This leads to a
broken test, where it expects s0-s3 as function argument and uses it as
RSrc register as well.
We need to re-visit the patch, but apparently we only want to have s0-s3
as
argument registers if we don't need them as RSrc registers.
Commit: 77cbc9bf601861ed92e36f7833422e31c22dd159
https://github.com/llvm/llvm-project/commit/77cbc9bf601861ed92e36f7833422e31c22dd159
Author: Victor Perez <victor.perez at codeplay.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp
Log Message:
-----------
[MLIR][LLVM] Add `llvm.experimental.constrained.fptrunc` operation (#86260)
Add operation mapping to the LLVM
`llvm.experimental.constrained.fptrunc.*` intrinsic.
The new operation implements the new
`LLVM::FPExceptionBehaviorOpInterface` and
`LLVM::RoundingModeOpInterface` interfaces.
---------
Signed-off-by: Victor Perez <victor.perez at codeplay.com>
Commit: c7198e0af34fc94722876d61af6e65758c316af5
https://github.com/llvm/llvm-project/commit/c7198e0af34fc94722876d61af6e65758c316af5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
Log Message:
-----------
[DAG] Fold insert_subvector(N0, extract_subvector(N0, N2), N2) --> N0 (#86487)
Handle the case where we've ended up inserting back into the source vector we extracted the subvector from.
Commit: d06ba376833553f38b5cbc606e479ed7936e5f5b
https://github.com/llvm/llvm-project/commit/d06ba376833553f38b5cbc606e479ed7936e5f5b
Author: Michal Paszkowski <michal at paszkowski.org>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/CMakeLists.txt
A llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
A llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
M llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll
M llvm/test/CodeGen/SPIRV/assume.ll
M llvm/test/CodeGen/SPIRV/exec_mode_float_control_khr.ll
M llvm/test/CodeGen/SPIRV/expect.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_arbitrary_precision_integers.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative1.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative2.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative3.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative4.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_two_calls.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_optnone.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_usm_storage_classes/intel-usm-addrspaces.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr_spec_const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_no_integer_wrap_decoration.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
A llvm/test/CodeGen/SPIRV/extensions/both-allowed-disallowed-extension-error.ll
A llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions-but-one.ll
A llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions.ll
A llvm/test/CodeGen/SPIRV/extensions/invalid-extension-list-format.ll
A llvm/test/CodeGen/SPIRV/extensions/unknown-extension-name.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/add.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/and.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fadd.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmax.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmaximum.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmin.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fminimum.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmul.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/mul.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/or.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/smax.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/smin.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/umax.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/umin.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/xor.ll
M llvm/test/CodeGen/SPIRV/transcoding/NoSignedUnsignedWrap.ll
Log Message:
-----------
[SPIR-V] Support extension toggling and enabling all (#85503)
Commit: f5e1cd5625bccef71b7c914b39fcc5d547ebb610
https://github.com/llvm/llvm-project/commit/f5e1cd5625bccef71b7c914b39fcc5d547ebb610
Author: Michal Paszkowski <michal at paszkowski.org>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
Log Message:
-----------
[SPIR-V] Extend SPIRVUsage.rst document (#84744)
Commit: 5d7e7abc82ec87fe0cca3bc2afe67b70be5d0151
https://github.com/llvm/llvm-project/commit/5d7e7abc82ec87fe0cca3bc2afe67b70be5d0151
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86SchedIceLake.td
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse2.s
Log Message:
-----------
[X86] ICX - vector XMM splat use Port 1 or 5 when boradcasting the shift amount
Noticed while trying to compare splat vs per-element shift perf stats for #39424
Confirmed with uops.info
Commit: 5fc619b5ee227ab4d22319dad8d2ba6fc1660091
https://github.com/llvm/llvm-project/commit/5fc619b5ee227ab4d22319dad8d2ba6fc1660091
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/avgceilu.ll
Log Message:
-----------
[DAG] Update ISD::AVG folds to use hasOperation to allow Custom matching prior to legalization
Fixes issue where AVX1 targets weren't matching 256-bit AVGCEILU cases.
Commit: 5b544b511c7133fcb26a5c563b746a4baefb38d6
https://github.com/llvm/llvm-project/commit/5b544b511c7133fcb26a5c563b746a4baefb38d6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/ctpop.mir
Log Message:
-----------
[Mips] ctpop.mir - regenerate checks to improve codegen diff in #86505
Commit: f01377d8ebcb1f52fe75a236cdf34f1b8b1e99fb
https://github.com/llvm/llvm-project/commit/f01377d8ebcb1f52fe75a236cdf34f1b8b1e99fb
Author: Nazım Can Altınova <canaltinova at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
A compiler-rt/test/tsan/signal_in_mutex_lock.cpp
Log Message:
-----------
[tsan] Mark `pthread_*_lock` functions as blocking (#84162)
Fixes #83561.
When a thread is blocked on a mutex and we send an async signal to that
mutex, it never arrives because tsan thinks that `pthread_mutex_lock` is
not a blocking function. This patch marks `pthread_*_lock` functions as
blocking so we can successfully deliver async signals like `SIGPROF`
when the thread is blocked on them.
See the issue also for more details. I also added a test, which is a
simplified version of the compiler explorer example I posted in the
issue.
Please let me know if you have any other ideas or things to improve!
Happy to work on them.
Also I filed #83844 which is more tricky because we don't have a libc
wrapper for `SYS_futex`. I'm not sure how to intercept this yet. Please
let me know if you have ideas on that as well. Thanks!
Commit: fe97a6148ebce0091c03abd12abd814cb55afe24
https://github.com/llvm/llvm-project/commit/fe97a6148ebce0091c03abd12abd814cb55afe24
Author: Nazım Can Altınova <canaltinova at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M compiler-rt/include/sanitizer/linux_syscall_hooks.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
A compiler-rt/test/tsan/signal_in_futex_wait.cpp
Log Message:
-----------
[tsan] Add callbacks for futex syscalls and mark them as blocking on tsan (#86537)
Fixes #83844.
This PR adds callbacks to mark futex syscalls as blocking. Unfortunately
we didn't have a mechanism before to mark syscalls as a blocking call,
so I had to implement it, but it mostly reuses the `BlockingCall`
implementation
[here](https://github.com/llvm/llvm-project/blob/96819daa3d095cf9f662e0229dc82eaaa25480e8/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp#L362-L380).
The issue includes some information but this issue was discovered
because Rust uses futexes directly. So most likely we need to update
Rust as well to use these callbacks.
Also see the latest comments in #85188 for some context.
I also sent another PR #84162 to mark `pthread_*_lock` calls as
blocking.
Commit: da9ac43433ace54b262cd8552a9fafac21186381
https://github.com/llvm/llvm-project/commit/da9ac43433ace54b262cd8552a9fafac21186381
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/Sema/attr-target-clones-aarch64.c
Log Message:
-----------
[FMV] Allow mixing target_version with target_clones. (#86493)
The latest ACLE allows it and further clarifies the following
in regards to the combination of the two attributes:
"If the `default` matches with another explicitly provided
version in the same translation unit, then the compiler can
emit only one function instead of the two. The explicitly
provided version shall be preferred."
("default" refers to the default clone here)
https://github.com/ARM-software/acle/pull/310
Commit: f914e8e77c4703814e2f2dcef1d4569b17837c92
https://github.com/llvm/llvm-project/commit/f914e8e77c4703814e2f2dcef1d4569b17837c92
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
A llvm/test/CodeGen/AArch64/sme-avoid-coalescing-locally-streaming.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
Log Message:
-----------
[AArch64][SME] Add coalescer barrier for args/results in locally streaming functions. (#85388)
Similar to how we protected FP/fixed-vector arguments and results from
calls, we should do the same for arguments/results from locally-streaming
functions such that those are not spilled/filled as ZPR registers.
This may cause a small regression (additional spills/fills), which is
addressed by #85386.
Commit: bfb12ef33a90bd20c3a76094ef4393a8defbb712
https://github.com/llvm/llvm-project/commit/bfb12ef33a90bd20c3a76094ef4393a8defbb712
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M lld/COFF/DriverUtils.cpp
M lld/test/COFF/export.test
Log Message:
-----------
[LLD][COFF] Allow additional attributes in forwarding exports. (#86535)
Testing with MSVC link.exe showed that it respects such options, while
LLD currently discards them.
Commit: 4dc322524871df02578a05b260dacf28ff130c02
https://github.com/llvm/llvm-project/commit/4dc322524871df02578a05b260dacf28ff130c02
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Libomptarget] Replace global `PluginTy::get` interface with references (#86595)
Summary:
We have a plugin singleton that implements the Plugin interface. This
then spawns separate device and kernels. Previously when these needed to
reach into the global singleton they would use the `PluginTy::get`
routine to get access to it. In the future we will move away from this
as the lifetime of the plugin will be handled by `libomptarget`
directly. This patch removes uses of this inside of the plugin
implementaion themselves by simply keeping a reference to the plugin
inside of the device.
The external `__tgt_rtl` functions still use the global method, but will
be removed later.
Commit: 603db7425ffa96915854f425b027cc8403ab333d
https://github.com/llvm/llvm-project/commit/603db7425ffa96915854f425b027cc8403ab333d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/test/COFF/export.test
Log Message:
-----------
[LLD][COFF] Preserve all attributes from forwarding exports from parsed .def files. (#86564)
It's similar to #86535, but for export specified in .def files.
Commit: 19ca79e8671439338b429982c457304c70eca701
https://github.com/llvm/llvm-project/commit/19ca79e8671439338b429982c457304c70eca701
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/canonicalize.h
A libc/src/math/canonicalizef.h
A libc/src/math/canonicalizef128.h
A libc/src/math/canonicalizel.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/canonicalize.cpp
A libc/src/math/generic/canonicalizef.cpp
A libc/src/math/generic/canonicalizef128.cpp
A libc/src/math/generic/canonicalizel.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/CanonicalizeTest.h
A libc/test/src/math/smoke/canonicalize_test.cpp
A libc/test/src/math/smoke/canonicalizef128_test.cpp
A libc/test/src/math/smoke/canonicalizef_test.cpp
A libc/test/src/math/smoke/canonicalizel_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math][c23] Implement canonicalize functions (#85940)
Fixes: #85286
Commit: 59e052568e7d46cc0489269e3c76f53bb21941f5
https://github.com/llvm/llvm-project/commit/59e052568e7d46cc0489269e3c76f53bb21941f5
Author: ycdtosa <ycdtosa at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/warn-exit-time-destructors.cpp
Log Message:
-----------
[[clang::always_destroy]] attribute silences warn-exit-time-destructor (#86486)
This attribute tells the compiler that the variable must have its exit-time
destructor run, so it makes sense that it would silence the warning telling
users that an exit-time destructor is required.
Fixes https://github.com/llvm/llvm-project/issues/68686
Commit: feebcd65fb7e0534f5219e05432a05e45aa8cd2a
https://github.com/llvm/llvm-project/commit/feebcd65fb7e0534f5219e05432a05e45aa8cd2a
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang] Fix -Wunused-variable in SemaDecl.cpp (NFC)
llvm-project/clang/lib/Sema/SemaDecl.cpp:11653:20:
error: unused variable 'OldMVKind' [-Werror,-Wunused-variable]
MultiVersionKind OldMVKind = OldFD->getMultiVersionKind();
^
1 error generated.
Commit: caa225825075237cd6b15757476dd1999bec290b
https://github.com/llvm/llvm-project/commit/caa225825075237cd6b15757476dd1999bec290b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Log Message:
-----------
[LLVM] Remove nuw neg (#86295)
This patch removes APIs that creating NUW neg. It is a trivial case
because `sub nuw 0, X` always gets simplified into zero.
I believe there is no optimization opportunities in the real-world
applications that we can take advantage of the nuw flag.
Motivated by
https://github.com/llvm/llvm-project/pull/84792#discussion_r1524891134.
Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=d1f182c895728d89c5c3d198b133e212a5d9d4a3&to=da7b7478b7cbb32c09d760f6b8d0e67901e0d533&stat=instructions:u
Commit: 3a2c70b3713a856ea416d92abdddb7893fca308b
https://github.com/llvm/llvm-project/commit/3a2c70b3713a856ea416d92abdddb7893fca308b
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
Log Message:
-----------
Fix printing of templated records. (#86339)
Fixed the printing of templated argument list and added test case.
Commit: 93d33a1355438638232e66991f3a90c376c61fea
https://github.com/llvm/llvm-project/commit/93d33a1355438638232e66991f3a90c376c61fea
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
Log Message:
-----------
[PatternMatch] Refactor `m_SpecificInt` to avoid constructing APInt. NFC. (#86259)
This patch passes APInt by const reference in m_SpecificInt instead of
by value. Specifically, it refactors `m_SpecificInt(uint64_t V)` to
avoid APInt construction and dangling reference.
I believe it is safe to pass the APInt by const reference into
`m_SpecificInt` even if it is a temporary.
See also https://en.cppreference.com/w/cpp/language/lifetime
> All temporary objects are destroyed as the last step in evaluating the
[full-expression](https://en.cppreference.com/w/cpp/language/expressions#Full-expressions)
that (lexically) contains the point where they were created
Compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=d1f182c895728d89c5c3d198b133e212a5d9d4a3&to=7edf459b95ab2be33b70ec67faf87b3b8cc84f09&stat=instructions:u
Commit: 308ed0233a3da5b3a7d646808c6470ac30870603
https://github.com/llvm/llvm-project/commit/308ed0233a3da5b3a7d646808c6470ac30870603
Author: Il-Capitano <52455591+Il-Capitano at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
M llvm/test/CodeGen/AArch64/arm64-anyregcc.ll
M llvm/test/CodeGen/AArch64/arm64-patchpoint.ll
Log Message:
-----------
[Intrinsics] Make `patchpoint.i64` generic on its return type (#85911)
Currently patchpoints can only have two result types, `void` and `i64`.
This limits the result to general purpose registers.
This patch makes `patchpoint.i64` an overloadable intrinsic, allowing
result values that can fit in a single register (e.g. integers,
pointers, floats).
Commit: dfde6e89ecc10b1f1eebdb0e409ef1a084030a6c
https://github.com/llvm/llvm-project/commit/dfde6e89ecc10b1f1eebdb0e409ef1a084030a6c
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libcxx/test/std/utilities/variant/variant.get/get_if_index.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_if_type.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_index.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_type.pass.cpp
M libcxx/test/std/utilities/variant/variant.helpers/variant_alternative.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit/visit_return_type.pass.cpp
M libcxx/test/support/variant_test_helpers.h
Log Message:
-----------
[libc++][test] Remove tests that testing std::variant<T&> (#84222)
Fixes #83600
Commit: 54ca1e2c041a3780eca83549d7f7137581d32abb
https://github.com/llvm/llvm-project/commit/54ca1e2c041a3780eca83549d7f7137581d32abb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
Log Message:
-----------
[SLP]Fix PR80027: include initial trunc nodes to the demoted values.
Need to include initial sext/zext/trunc nodes to the list of the demoted
root values to correctly calculate the cost and handle the
vectorization.
Commit: 47f4a07a2fe8db0ccf63dc1bf6f991124d8eff81
https://github.com/llvm/llvm-project/commit/47f4a07a2fe8db0ccf63dc1bf6f991124d8eff81
Author: David Green <david.green at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
Log Message:
-----------
[GlobalISel] Add Knownbits for G_LOAD/ZEXTLOAD/SEXTLOAD with range metadata (#86431)
Similar to #80829 for GlobalISel.
Commit: a51d13f5db08e36e0b734bc2aa9b5c4fea9cf116
https://github.com/llvm/llvm-project/commit/a51d13f5db08e36e0b734bc2aa9b5c4fea9cf116
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/include/flang/Common/idioms.h
M flang/lib/Evaluate/constant.cpp
Log Message:
-----------
[Flang] Add new CHECK_MSG() function (#86576)
Added a new variant of the CHECK() function that takes a custom message
as a parameter. This is useful for more meaninful error messages when
the compiler is expected to crash.
Fixes #78931
Commit: ca594fedeb3d6bb8ee0f80c92b0089147fb5e757
https://github.com/llvm/llvm-project/commit/ca594fedeb3d6bb8ee0f80c92b0089147fb5e757
Author: Tim Creech <timothy.m.creech at intel.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/docs/UsersManual.rst
M llvm/docs/ReleaseNotes.rst
Log Message:
-----------
Update documentation and release notes for llvm-profgen COFF support (#84864)
This change:
- Updates the existing Clang User's Manual section on SPGO so that it
describes how to use llvm-profgen to perform SPGO on Windows. This is
new functionality implemented in #83972.
- Fixes a minor typo in the existing llvm-profgen invocation example.
- Adds an LLVM release note on this new functionality in llvm-profgen.
Commit: 89ef3130cf16f1965475396ad3a50760558cc08a
https://github.com/llvm/llvm-project/commit/89ef3130cf16f1965475396ad3a50760558cc08a
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Create a separate target for BytecodeOpInterface. (#86655)
This matches the CMake targets and reduces the number of headers that
need to be included in multiple targets.
Commit: 2e38c50e5c53d66d4968fbd47b78e71a220a28ca
https://github.com/llvm/llvm-project/commit/2e38c50e5c53d66d4968fbd47b78e71a220a28ca
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/include/clang/AST/DeclContextInternals.h
M clang/lib/Interpreter/IncrementalParser.cpp
Log Message:
-----------
[clang-repl] Fix remove invalidates iterators in CleanUpPTU() (#85378)
Using remove() on DeclContext::lookup_result list invalidates iterators.
This assertion failure was one (fortunate) symptom:
```
clang/include/clang/AST/DeclBase.h:1337: reference clang::DeclListNode::iterator::operator*() const: Assertion `Ptr && "dereferencing end() iterator"' failed.
```
Commit: b3117564508ce53b3af408bf2b8ab643a6030bc4
https://github.com/llvm/llvm-project/commit/b3117564508ce53b3af408bf2b8ab643a6030bc4
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBlocks.h
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/utils/TableGen/MveEmitter.cpp
M llvm/include/llvm/IR/IRBuilder.h
Log Message:
-----------
Revert "[CodeGen][arm64e] Add methods and data members to Address, which are needed to authenticate signed pointers (#67454)" (#86674)
This reverts commit 8bd1f9116aab879183f34707e6d21c7051d083b6.
It appears that the commit broke msan bots.
Commit: 507e59aa757bdc690ebc0bf69c6d3c84061061a8
https://github.com/llvm/llvm-project/commit/507e59aa757bdc690ebc0bf69c6d3c84061061a8
Author: Julian Nagele <mail at jnagele.net>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
A llvm/test/Verifier/tbaa-struct.ll
Log Message:
-----------
[TBAA] Tests for invalid tbaa.struct metadata (#86167)
These tests show invalid tbaa.struct metadata that is currently accepted
in preparation for a change to the IR Verifier that will then reject it.
PR: https://github.com/llvm/llvm-project/pull/86167
Commit: 26d896f3688a8bff6faf85ccce557e320108997f
https://github.com/llvm/llvm-project/commit/26d896f3688a8bff6faf85ccce557e320108997f
Author: Rafael Ubal <rubal at mathworks.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
Fixes in 'tosa.reshape' lowering and folder (#85798)
- Revamped lowering conversion pattern for `tosa.reshape` to handle previously unsupported combinations of dynamic dimensions in input and output tensors. The lowering strategy continues to rely on pairs `tensor.collapse_shape` + `tensor.expand_shape`, which allow for downstream fusion with surrounding `linalg.generic` ops.
- Fixed bug in canonicalization pattern `ReshapeOp::fold()` in `TosaCanonicalizations.cpp`. The input and result types being equal is not a sufficient condition for folding. If there is more than 1 dynamic dimension in the input and result types, a productive reshape could still occur.
- This work exposed the fact that bufferization does not properly handle a `tensor.collapse_shape` op producing a 0D tensor from a dynamically shaped one due to a limitation in `memref.collapse_shape`. While the proper way to address this would involve releasing the `memref.collapse_shape` restriction and verifying correct bufferization, this is left as possible future work. For now, this scenario is avoided by casting the `tosa.reshape` input tensor to a static shape if necessary (see `inferReshapeInputType()`.
- An extended set of tests are intended to cover relevant conversion paths. Tests are named using pattern `test_reshape_<rank>_{up|down|same}_{s2s|s2d|d2s|d2d}_{explicit|auto}[_empty][_identity]`, where:
- `<rank>` is the input rank (e.g., 3d, 6d)
- `{up|down|same}` indicates whether the reshape increases, decreases, or retains the input rank.
- `{s2s|s2d|d2s|d2d}` indicates whether reshape converts a statically shaped input to a statically shaped result (`s2s`), a statically shaped input to a dynamically shaped result (`s2d`), etc.
- `{explicit|auto}` is used to indicate that all values in the `new_shape` attribute are >=0 (`explicit`) or that a -1 placeholder value is used (`auto`).
- `empty` is used to indicate that `new_shape` includes a component set to 0.
- `identity` is used when the input and result shapes are the same.
Commit: 06bb8c9f202e37f215b26ca0dd9b2d8adaf5a83d
https://github.com/llvm/llvm-project/commit/06bb8c9f202e37f215b26ca0dd9b2d8adaf5a83d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopLoadElim/versioning-scev-invalidation.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-opaque-pointers.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-unroll.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
Log Message:
-----------
[VPlan] Explicitly handle scalar pointer inductions. (#83068)
Add a new PtrAdd opcode to VPInstruction that corresponds to
IRBuilder::CreatePtrAdd, which creates a GEP with source element type
i8.
This is then used to model scalarizing VPWidenPointerInductionRecipe by
introducing scalar-steps to model the index increment followed by a
PtrAdd.
Note that PtrAdd needs to be able to generate code for only the first
lane or for all lanes. This may warrant introducing a separate recipe
for scalarizing that can be created without relying on the underlying
IR.
Depends on https://github.com/llvm/llvm-project/pull/80271
PR: https://github.com/llvm/llvm-project/pull/83068
Commit: e933c05cd2cb97974cfca9544ebbdb9af349d602
https://github.com/llvm/llvm-project/commit/e933c05cd2cb97974cfca9544ebbdb9af349d602
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/widen_fadd.ll
M llvm/test/CodeGen/X86/widen_fmul.ll
M llvm/test/CodeGen/X86/widen_fsub.ll
Log Message:
-----------
[X86] Add fadd/fsub/fmul tests showing failure to concat operands together and perform as a wider vector
We don't want to concat fadd/fsub/fmul if both operands would need concatenating (as the fp op is usually cheaper than the concat), but if at least one operand is free to concat (i.e. constant or extracted from a wider vector), then we should try to concat the fp op.
Commit: d18bee2313ab8274fad386b1c0227316bf4238b2
https://github.com/llvm/llvm-project/commit/d18bee2313ab8274fad386b1c0227316bf4238b2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/widen_fadd.ll
M llvm/test/CodeGen/X86/widen_fmul.ll
M llvm/test/CodeGen/X86/widen_fsub.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concatenate FADD/FSUB/FMUL ops if we don't increase the number of INSERT_SUBVECTOR nodes.
FADD/FSUB/FMUL are usually less port-bound than INSERT_SUBVECTOR, so only concatenate if it reduces the instruction count and doesn't introduce extra INSERT_SUBVECTOR nodes.
Commit: ecfffbfd3921fd47f3afc1d03a7518b34ec396b3
https://github.com/llvm/llvm-project/commit/ecfffbfd3921fd47f3afc1d03a7518b34ec396b3
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
A libc/src/__support/OSUtil/baremetal/quick_exit.cpp
R libc/src/__support/OSUtil/baremetal/quick_exit.h
M libc/src/__support/OSUtil/darwin/CMakeLists.txt
R libc/src/__support/OSUtil/darwin/quick_exit.h
M libc/src/__support/OSUtil/gpu/CMakeLists.txt
M libc/src/__support/OSUtil/gpu/quick_exit.cpp
R libc/src/__support/OSUtil/gpu/quick_exit.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
A libc/src/__support/OSUtil/linux/quick_exit.cpp
R libc/src/__support/OSUtil/linux/quick_exit.h
M libc/src/__support/OSUtil/quick_exit.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/_Exit.cpp
M libc/src/stdlib/exit.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][OSUtil] refactor quick_exit to be an object library everywhere (#85955)
The usage of __builtin_unreachable after calls to quick_exit were distressing.
If a function is properly marked [[noreturn]] then __builtin_unreachable is not
necessary.
Looking into this further, we seem to have header only implementations for CPU
targets. The inline nature of these functions is curious; we're going to exit,
it doesn't matter if we need to pay the call of a function or not. If we just
make these functions have distinct TUs rather than be header only, we can clean
up the cmake rules for quick_exit which were different between CPU and GPU.
Remove darwin support for quick_exit. This isn't being tested, and we can bring
it back when necessary.
Commit: 87519a2830eab4b634a5816f53fe773929eed531
https://github.com/llvm/llvm-project/commit/87519a2830eab4b634a5816f53fe773929eed531
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/vwmul-sdnode.ll
Log Message:
-----------
[RISCV] Combine (mul (zext, zext)) -> (zext (mul (zext, zext))) (#86465)
Building on #86248, we can also narrow the width of a mul of zexts.
This is specifically legal because on RVV we always extend to the next
power of 2 width, and multiplying two N bit integers produces a maximum
value of 2\*N bits.
So as long as we keep an inner zext of 2\*N, we will have enough space
for the multiply and won't overflow.
Alive2 proof: https://alive2.llvm.org/ce/z/XteYyb
Commit: 4998587e6f5f66d464ac22ad4c11fe9afd2d56ab
https://github.com/llvm/llvm-project/commit/4998587e6f5f66d464ac22ad4c11fe9afd2d56ab
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
Log Message:
-----------
[Flang] Support for passing procedure pointer, reference to a function that returns a procedure pointer to structure constructor. (#86533)
This PR fixes `not yet implemented: procedure pointer component in
structure constructor` as shown in the following test case.
```
MODULE M
TYPE :: DT
PROCEDURE(Fun), POINTER, NOPASS :: pp1
END TYPE
CONTAINS
INTEGER FUNCTION Fun(Arg)
INTEGER :: Arg
Fun = Arg
END FUNCTION
END MODULE
PROGRAM MAIN
USE M
IMPLICIT NONE
TYPE (DT) :: v2
PROCEDURE(FUN), POINTER :: pp2
v2 = DT(pp2)
v2 = DT(bar())
CONTAINS
FUNCTION BAR() RESULT(res)
PROCEDURE(FUN), POINTER :: res
END
END
```
Commit: 6e261d9c37a49b19552b439712703968ea88ee2a
https://github.com/llvm/llvm-project/commit/6e261d9c37a49b19552b439712703968ea88ee2a
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/unparse.cpp
A flang/test/Parser/unrecognized-dir.f90
Log Message:
-----------
[flang] Accept more unrecognized !DIR$ compiler directives (#85829)
When encountering an unparsable !DIR$ compiler directive line, accept it
as a whole source line and emit a warning that it is unrecognizable.
Fixes https://github.com/llvm/llvm-project/issues/59107,
https://github.com/llvm/llvm-project/issues/82212, and
https://github.com/llvm/llvm-project/issues/82654.
Commit: 6d579cd1d91cdde5adfa455bda7903e737e9d5cf
https://github.com/llvm/llvm-project/commit/6d579cd1d91cdde5adfa455bda7903e737e9d5cf
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/InstallAPI/DylibVerifier.cpp
Log Message:
-----------
[InstallAPI] Add missing license header to file, NFC
Commit: f50f0caf87d762ca1c4a0122bd29d2fc9c667113
https://github.com/llvm/llvm-project/commit/f50f0caf87d762ca1c4a0122bd29d2fc9c667113
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve61.f90
Log Message:
-----------
[flang] Fix crash in name resolution (#85835)
ConvertToObjectEntity() returns true for use- and host-associated object
symbols, too. Ensure in this case that the symbol really is a
non-associated object.
Fixes https://github.com/llvm/llvm-project/issues/85776.
Commit: 2f63718f8567413a1c596bda803663eb58d6da5a
https://github.com/llvm/llvm-project/commit/2f63718f8567413a1c596bda803663eb58d6da5a
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M lldb/source/Core/Module.cpp
Log Message:
-----------
[lldb] Don't clear a Module's UnwindTable when adding a SymbolFile (#86603)
Fixing a crash in lldb when `symbols.auto-download` setting is enabled.
When doing a backtrace, this feature has lldb search for a SymbolFile
for stack frames when we are backtracing, and add them either
synchoronously or asynchronously, depending on the specific setting
used.
Module::SetSymbolFileFileSpec clears the Module's UnwindTable, once we
find a new SymbolFile. We may be adding a source of unwind information
that we did not have when lldb was working only with the executable
binary.
What happens in practice is that we're using a reference to the Module's
UnwindTable, and then the other thread getting the SymbolFile clears it
and now the first thread is referring to freed memory and we can crash.
When built with address sanitizer, it crashes much more reliably.
Given that unwind information used for exception handling -- eh_frame,
compact unwind -- is present in executable binaries, the only thing
we're likely to *add* would be DWARF's `debug_frame` if that was also
available. The actual value of re-creating the UnwindTable when we have
added a SymbolFile is not large.
I also tried fixing this by changing the Module to have a shared_ptr to
the UnwindTable, so we could have two different UnwindTable's in use
simultaneously for a brief period. This would be fine TODAY, but it
introduces a very subtle bug that someone will have a heck of a time
figuring out in the future.
In the end, I believe the safest approach is to sacrifice the possible
marginal gain of reconstructing the UnwindTable once a SymbolFile has
been added, to sidestep this whole problem area.
Also, in `Module::GetUnwindTable()`, call `DownloadSymbolFileAsync`
before we create the UnwindTable for the first time, in case the symbol
file is fetched synchronously, we will have it for that possible
marginal gain.
Commit: 44d037cc258dcf179d2c48c93996bb406ecd0fae
https://github.com/llvm/llvm-project/commit/44d037cc258dcf179d2c48c93996bb406ecd0fae
Author: Abhin P Jose <abhinjose at live.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/DiagnosticHandler.h
M llvm/unittests/Linker/LinkModulesTest.cpp
M llvm/unittests/Support/ThreadPool.cpp
Log Message:
-----------
Change type of DiagnosticHandlerTy (#86504)
Changing type of DiagnosticHandlerTy due to adding
-Wcast-function-type-mismatch to -Wextra
group(https://github.com/llvm/llvm-project/pull/86131#issuecomment-2018014179).
Changed the reference argument DiagnosticInfo to a pointer and edited
the test cases failing due to this change. Added another small change
where Gtest api was throwing an warning due varargs argument not being
passed.
Commit: 375ddd677c08fa32ed188ba20097c1cb0949d846
https://github.com/llvm/llvm-project/commit/375ddd677c08fa32ed188ba20097c1cb0949d846
Author: Alfie Richards <alfie.richards at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/test/MC/ARM/basic-arm-instructions.s
M llvm/test/MC/ARM/load-store-acquire-release-v8-thumb.s
M llvm/test/MC/ARM/load-store-acquire-release-v8.s
Log Message:
-----------
[ARM][MC] Add GNU Alias for ldrexd, ldaexd, stlexd, and strexd instructions (#86507)
These aliases were supported previously there was a regression at some point.
This adds back the alternate forms and tidies up this section of code a little.
See https://github.com/llvm/llvm-project/pull/83436#issuecomment-2010213714 for the initial report regarding this change.
Commit: 348f9e73d7175f67750dc40b15cf1fc888bf60b5
https://github.com/llvm/llvm-project/commit/348f9e73d7175f67750dc40b15cf1fc888bf60b5
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
Log Message:
-----------
[lldb] Fix warning: comparison of unsigned expression in >= 0 is always true
lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp:1195:15: warning:
comparison of unsigned expression in ‘>= 0’ is always true
1195 | if (weekday >= 0 && weekday < 7)
| ~~~~~~~~^~~~
Commit: 3140d138e4ae9bba35dd23ce2eb0d1e088596f0a
https://github.com/llvm/llvm-project/commit/3140d138e4ae9bba35dd23ce2eb0d1e088596f0a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/extractelement-load.ll
Log Message:
-----------
[X86] extractelement-load.ll - use X86 instead of X32 check prefix. NFC
X32 should be used for gnux32 triples
Commit: c8b85add2ec1916f3aa5139dfd258e42a946a468
https://github.com/llvm/llvm-project/commit/c8b85add2ec1916f3aa5139dfd258e42a946a468
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/extractelement-load.ll
Log Message:
-----------
[X86] extractelement-load.ll - add test case for #85419
Commit: 3ada883f7c96e099e1a665c091751bff5f16690e
https://github.com/llvm/llvm-project/commit/3ada883f7c96e099e1a665c091751bff5f16690e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
A flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/lib/Semantics/check-call.cpp
M flang/runtime/CMakeLists.txt
M flang/runtime/complex-reduction.c
M flang/runtime/complex-reduction.h
M flang/runtime/io-api.cpp
A flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/tools.cpp
M flang/runtime/tools.h
M flang/unittests/Runtime/Reduction.cpp
Log Message:
-----------
[flang][runtime] Runtime support for REDUCE() (#86214)
Supports the REDUCE() transformational intrinsic function of Fortran
(see F'2023 16.9.173) in a manner similar to the existing support for
SUM(), PRODUCT(), &c. There are APIs for total reductions to scalar
results, and APIs for partial reductions that reduce the rank of the
argument by one.
This implementation requires more functions than other reductions
because the various possible types of the user-supplied OPERATION=
function need to be elaborated.
Once the basic API in reduce.h has been approved, later patches will
implement lowering.
REDUCE() is primarily for completeness, not portability; only one other
Fortran compiler implements this F'2018 feature today, and only some
types work correctly with it.
Commit: 5a0382ce7ab3577630bdbb396e9ddaed8749101e
https://github.com/llvm/llvm-project/commit/5a0382ce7ab3577630bdbb396e9ddaed8749101e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/lib/Evaluate/check-expression.cpp
A flang/test/Semantics/structconst09.f90
Log Message:
-----------
[flang] Catch non-constant targets for procedure pointer initialization (#86338)
Detect attempts to use non-constant targets, including internal
procedures, as initializers for procedure pointers, including components
of structure components being used as initializers.
Commit: b06913103fe7d3abeb474369eb69e7dfab7f8893
https://github.com/llvm/llvm-project/commit/b06913103fe7d3abeb474369eb69e7dfab7f8893
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
Log Message:
-----------
Fix failure in buildbot (#86661)
Sanitizer failure in
https://lab.llvm.org/buildbot/#/builders/19/builds/25788
Commit: 5cf1e2e2ec7da58403182265f2a7d2d5c1c87854
https://github.com/llvm/llvm-project/commit/5cf1e2e2ec7da58403182265f2a7d2d5c1c87854
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/log-vec.ll
A llvm/test/CodeGen/DirectX/log.ll
A llvm/test/CodeGen/DirectX/log10.ll
A llvm/test/CodeGen/DirectX/log2.ll
A llvm/test/CodeGen/DirectX/log2_error.ll
Log Message:
-----------
[DXIL] Implement log intrinsic Lowering (#86569)
Completes #86192
`DXIL.td` - add log2 to dxilop lowering
`DXILIntrinsicExpansion.cpp` - add log and log10 to log2 expansions
Commit: 7860f970666f46184ad740db48a69882d62e64fc
https://github.com/llvm/llvm-project/commit/7860f970666f46184ad740db48a69882d62e64fc
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/include/flang/Common/idioms.h
M flang/include/flang/Common/template.h
M flang/include/flang/Common/unwrap.h
A flang/include/flang/Common/variant.h
M flang/include/flang/Common/visit.h
M flang/runtime/CMakeLists.txt
M flang/runtime/io-stmt.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
Log Message:
-----------
[flang][runtime] Use cuda::std::variant in the CUDA build. (#86615)
Added `FLANG_LIBCUDACXX_PATH` CMake variable to specify
installation of header-only libcudacxx library.
If it is specified, the `<cuda/std/variant>` is used to provide
implementation of `std::variant`.
Commit: e75989e93063d1ac2626c3478c28ca364e04ef28
https://github.com/llvm/llvm-project/commit/e75989e93063d1ac2626c3478c28ca364e04ef28
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[NFC][Clang] Fix potential dereferencing of nullptr (#85944)
This patch replaces getAs<> with castAs<> to resolve potential static
analyzer bugs for
1. Dereferencing a pointer issue with nullptr FPT when calling
ResolveExceptionSpec() in
checkEscapingByref(clang::VarDecl *, clang::Sema &).
3. Dereferencing a pointer issue with nullptr ElementTy->getAs() when
calling getElementType() in
clang::Sema::SemaBuiltinFPClassification(clang::CallExpr *, unsigned
int).
4. Dereferencing a pointer issue with nullptr ConvType->getAs() when
calling getKeyword() in
clang::Sema::ActOnConversionDeclarator(clang::CXXConversionDecl *).
Commit: 8f01ecaeb8e537511718c4df123fb92633d9f73d
https://github.com/llvm/llvm-project/commit/8f01ecaeb8e537511718c4df123fb92633d9f73d
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/include/flang/Parser/tools.h
M flang/lib/Parser/tools.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/init01.f90
M flang/test/Semantics/resolve81.f90
Log Message:
-----------
[flang] Special-case handling of INTRINSIC in type-decl-stmt (#86518)
Fortran allows the INTRINSIC attribute to be specified with a distinct
attribute statement, and also as part of the attribute list of a
type-declaration-stmt. This is an odd case (especially as the declared
type is mandated to be ignored if it doesn't match the type of the
intrinsic function) that can lead to odd error messages and crashes,
since the rest of name resolution expects that intrinsics with explicit
declarations will have been declared with INTRINSIC attribute
statements. Resolve by handling an "inline" INTRINSIC attribute as a
special case while processing a type-declaration-stmt, so that
real, intrinsic :: acos, asin, atan
is processed exactly as if it had been
intrinsic acos, asin, atan; real acos, asin, atan
Fixes https://github.com/llvm/llvm-project/issues/86382.
Commit: 39c03a2fbcdd6f20e0457faa5e169f4948f9422b
https://github.com/llvm/llvm-project/commit/39c03a2fbcdd6f20e0457faa5e169f4948f9422b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Remove unnecessary overrides of a defaulted template argument. NFC
Commit: bf4fc00bb73c73ccc7a78cd6d28287dd58c71e2c
https://github.com/llvm/llvm-project/commit/bf4fc00bb73c73ccc7a78cd6d28287dd58c71e2c
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] Refactor linearize.mlir (#86648)
This patch refactors the `linearize.mlir` test - currently it contains
some duplication and can be tricky to follow.
Summary of changes:
* reduce duplication by introducing a shared check prefix (`ALL`) and
by introducing `-check-prefixes`,
* make sure that every "check" line is directly above the
corresponding line of input MLIR,
* group check lines corresponding to a particular prefix together (so
that it's easier to see the expected output for a particular
prefix),
* remove `CHECK` from prefix names (with multiple prefixes that's just
noise that can be avoided) and use a bit more descriptive prefixes
instead (`CHECK0` -> `BW-0`, where `BW` stands for bitwidth),
* unify indentation,
* `nonvec_result` -> `test_tensor_no_linearize` (for consistency with
`test_index_no_linearize`).
NOTE: This change only updates the format of the "CHECK" lines and
doesn't affect what's being tested.
This change is intended as preparation for adding support for scalable
vectors to `LinearizeConstant` and `LinearizeVectorizable` - i.e.
patterns that `linearlize.mlir` is meant to test.
Commit: f92f77521263c8f20171b62688ecc86de9c9dfa9
https://github.com/llvm/llvm-project/commit/f92f77521263c8f20171b62688ecc86de9c9dfa9
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/lib/Semantics/tools.cpp
Log Message:
-----------
[flang][NFC] Address reported "possible missing return" (#86523)
A function uses "if constexpr" to consider all possible types in a
variant, but looks as if it can fall out without returning an
expression. Add a final "else" with a crash to make things more clear
and to protect against unlikely future extensions of the type.
Fixes https://github.com/llvm/llvm-project/issues/86391.
Commit: 81fc43a39878dbd938b45d7735fe6e0fe37b03c3
https://github.com/llvm/llvm-project/commit/81fc43a39878dbd938b45d7735fe6e0fe37b03c3
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/unittests/TableGen/CMakeLists.txt
Log Message:
-----------
[unittests] Fix `TableGenTests` with `LLVM_LINK_LLVM_DYLIB` (#86664)
Since the restructuring in commit fa3d789df1, the option
DISABLE_LLVM_LINK_LLVM_DYLIB is counter-productive and leads to
CommandLine Error: Option 'debug-counter' registered more than once!
Commit: 4c4ea249cef8db71d30517aab60a081e764260e1
https://github.com/llvm/llvm-project/commit/4c4ea249cef8db71d30517aab60a081e764260e1
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
[NFC][CLANG] Fix static analyzer bugs about unnecessary object copies with auto keyword (#85962)
Reported by Static Analyzer Tool:
In clang::dataflow::Environment::initialize(): Using the auto keyword
without an & causes the copy of an object of type LambdaCapture
Commit: f050a098b5e0745b6c230410f433e48dcc46d160
https://github.com/llvm/llvm-project/commit/f050a098b5e0745b6c230410f433e48dcc46d160
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/test/Conversion/ArithToSPIRV/fast-math.mlir
Log Message:
-----------
[mlir][spirv] Remove `enableFastMathMode` flag from SPIR-V conversion (#86578)
Most of arith/math ops support fastmath attribute, use it instead of
global flag.
Commit: f4fc959c35eb862776ac2e83cb9f41aa88989e3f
https://github.com/llvm/llvm-project/commit/f4fc959c35eb862776ac2e83cb9f41aa88989e3f
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/tools.cpp
A flang/test/Semantics/deferred01.f90
Log Message:
-----------
[flang] Catch impossible but necessary TBP override (#86558)
An apparent attempt to override a type-bound procedure is not allowed to
be interpreted as on override when the procedure is PRIVATE and the
override attempt appears in another module. However, if the TBP that
would have been overridden is a DEFERRED procedure in an abstract base
type, the override must take place. PRIVATE DEFERRED procedures must
therefore have all of their overrides appear in the same module as the
abstract base type.
Commit: 313734795c67ca0bfb82f96b39e123774ddf24b4
https://github.com/llvm/llvm-project/commit/313734795c67ca0bfb82f96b39e123774ddf24b4
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/static-definition-in-anonymous-namespace.cpp
Log Message:
-----------
[clang-tidy] Fix fix-it overlaps in readability-static-definition-in-anonymous-namespace (#86599)
Because check emitted multiple warnings for every template instance
fix-it couldn't be applied due to overlaps.
Using TK_IgnoreUnlessSpelledInSource and restricting check to C++ only.
Commit: 26dd12871ca8a3dcc5e6920add231af354310088
https://github.com/llvm/llvm-project/commit/26dd12871ca8a3dcc5e6920add231af354310088
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
Log Message:
-----------
[SLP]Do not propagate nuw/nsw flags for alt nodes, affected by
minbitwidth analysis.
Need to drop nuw/nsw flags, if the alternate node is resized after the
minbitwidth analysis, to avoid producing poison values in corner cases.
Commit: 1eaef44532266694c28f49f5c0373e7fc93d4f82
https://github.com/llvm/llvm-project/commit/1eaef44532266694c28f49f5c0373e7fc93d4f82
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
Log Message:
-----------
[TosaToTensor] Fix a warning (#86703)
This patch fixes:
mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp:76:46: error:
'multiplies' may not intend to support class template argument
deduction [-Werror,-Wctad-maybe-unsupported]
Commit: 8cb4eb991401093fbfbc255ea752210d0bd5acfe
https://github.com/llvm/llvm-project/commit/8cb4eb991401093fbfbc255ea752210d0bd5acfe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Remove unneeded VAESKF_MV_I tablegen class. NFC
It is identical to PALUVINoVm so we can use that instead.
Commit: d0e97fe38b91dac909e6a53ab16d306e5ef0b512
https://github.com/llvm/llvm-project/commit/d0e97fe38b91dac909e6a53ab16d306e5ef0b512
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
Log Message:
-----------
[ArithToSPIRV] Fix a warning (#86702)
mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp:995:11: error:
unused variable 'converter' [-Werror,-Wunused-variable]
Commit: da6cc4a24ff8953d51f7dc2c4974e8fc9089d693
https://github.com/llvm/llvm-project/commit/da6cc4a24ff8953d51f7dc2c4974e8fc9089d693
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-nneg-disjoint.ll
Log Message:
-----------
[CodeGen] Add nneg and disjoint flags (#86650)
MachineInstr learned the new flags.
Commit: 29318abe1d2c55e8543255d70f26ac93261b74a4
https://github.com/llvm/llvm-project/commit/29318abe1d2c55e8543255d70f26ac93261b74a4
Author: Jason Molenda <jason at molenda.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
R lldb/test/Shell/SymbolFile/target-symbols-add-unwind.test
Log Message:
-----------
[lldb] Remove test for add-symbol-file adds unwind source
In
commit 2f63718f8567413a1c596bda803663eb58d6da5a
Author: Jason Molenda <jmolenda at apple.com>
Date: Tue Mar 26 09:07:15 2024 -0700
[lldb] Don't clear a Module's UnwindTable when adding a SymbolFile (#86603)
I changed lldb to not clear a Module's UnwindTable when we add a
SymbolFile to a binary, because the added benefit is marginal, and
handling this reconstruction correctly is difficult. This test was
written to explicitly create a test without unwind info in the
binary, then add a symbol file with the unwind info, and check that
it is present. I've intentionally broken this, so I'm removing the
test.
Commit: 0c3e24f7c90243040fedcdfbbb417505f7cc0102
https://github.com/llvm/llvm-project/commit/0c3e24f7c90243040fedcdfbbb417505f7cc0102
Author: Ella Ma <alansnape3058 at gmail.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M clang/utils/analyzer/exploded-graph-rewriter.py
Log Message:
-----------
[analyzer] Allow egraph rewriter not to open the generated HTML directly (#85515)
When developing on a headless device through SSH, we do not have a
browser or even an X environment. Hence, it would be more convenient if
the rewriter could stop before attempting to open the generated HTML
file. Then, it can be opened remotely through an HTML server.
This patch adds a new option `--dump-html-only` to make the rewriter
stop before opening the generated HTML in a browser. The new option is
marked in conflict with the existing `--dump-dot-only` option to prevent
unexpected behaviors.
Commit: 1ad29a5c7131a31883d24cc41388c5a3565c7a4f
https://github.com/llvm/llvm-project/commit/1ad29a5c7131a31883d24cc41388c5a3565c7a4f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
Log Message:
-----------
[SLP][NFC]Add a test with truncated loads, but incorrect trunc after
minbitwidth analysis.
Commit: 342f7d0d35774ffdcb56e8b92252763a59bd2c29
https://github.com/llvm/llvm-project/commit/342f7d0d35774ffdcb56e8b92252763a59bd2c29
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
Log Message:
-----------
[SLP]Fix PR86620: check final minbitwidth for truncs/exts before
accepting it.
If the minbitwidth is deduced from the demanded elements, need to check
the final bitwidthfor trunc/ext instruction, bot blindly accepting
the used one.
Commit: 1c9d5c25ae43778a1f5bd14898223c33a203d4d5
https://github.com/llvm/llvm-project/commit/1c9d5c25ae43778a1f5bd14898223c33a203d4d5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] foldAddSubBoolOfMaskedVal - reuse existing SDLoc instead of regenerating it. NFC.
Commit: 8edb12fe6cf81d194a4553da5d10e976bc4cfd4f
https://github.com/llvm/llvm-project/commit/8edb12fe6cf81d194a4553da5d10e976bc4cfd4f
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[IR] Add `m_c_BitwiseLogic` in pattern match; NFC
Just a missing matcher that came up in #73362
Closes #86632
Commit: cf6e62d8c308c7bf2885c422983c80842d735456
https://github.com/llvm/llvm-project/commit/cf6e62d8c308c7bf2885c422983c80842d735456
Author: Alex Zinenko <zinenko at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
Log Message:
-----------
[mlir][doc] NFC fix incorrect filename in td match interface
Commit: 2fbc40d36dd8e21fab4cc6cb43984baaa39bcd59
https://github.com/llvm/llvm-project/commit/2fbc40d36dd8e21fab4cc6cb43984baaa39bcd59
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Split compound if statement to fix a crash.
We're not allowed to call getELEN when the vector extension
is not enabled. If we're looking at a vector type, isTypeLegal would
only return true if the vector extensions are enabled. So early out
for non-vector types before we call isTypeLegal and getELEN.
Commit: 148a55795de7ac465a8e494d5d382e100da643f6
https://github.com/llvm/llvm-project/commit/148a55795de7ac465a8e494d5d382e100da643f6
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
R flang/lib/Lower/OpenMP/ClauseT.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[flang][OpenMP] Make OpenMP clause representation language-agnostic (#86289)
The clause templates defined in ClauseT.h were originally based on
flang's parse tree nodes. Since those representations are going to be
reused for clang (together with the clause splitting code), it makes
sense to separate them from flang, and instead have them based on the
actual OpenMP spec (v5.2).
The member names in the templates follow the naming presented in the
spec, and the representation (e.g. members) is derived from the clause
definitions as described in the spec.
Since the representations of some clauses has changed (while preserving
the information), the current code using the clauses (especially the
code converting parser::OmpClause to omp::Clause) needs to be adjusted.
This patch does not make any functional changes.
Commit: 601d7eab0665ba298d81952da11593124fd893a0
https://github.com/llvm/llvm-project/commit/601d7eab0665ba298d81952da11593124fd893a0
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
A polly/include/polly/Support/PollyDebug.h
M polly/lib/Analysis/DependenceInfo.cpp
M polly/lib/Analysis/PolyhedralInfo.cpp
M polly/lib/Analysis/PruneUnprofitable.cpp
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetection.cpp
M polly/lib/Analysis/ScopInfo.cpp
M polly/lib/CMakeLists.txt
M polly/lib/CodeGen/CodeGeneration.cpp
M polly/lib/CodeGen/IslAst.cpp
A polly/lib/Support/PollyDebug.cpp
M polly/lib/Support/SCEVValidator.cpp
M polly/lib/Transform/DeLICM.cpp
M polly/lib/Transform/FlattenAlgo.cpp
M polly/lib/Transform/FlattenSchedule.cpp
M polly/lib/Transform/ForwardOpTree.cpp
M polly/lib/Transform/ManualOptimizer.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
M polly/lib/Transform/ScheduleOptimizer.cpp
M polly/lib/Transform/ScheduleTreeTransform.cpp
M polly/lib/Transform/ScopInliner.cpp
M polly/lib/Transform/Simplify.cpp
M polly/lib/Transform/ZoneAlgo.cpp
A polly/test/Support/pollyDebug.ll
Log Message:
-----------
[polly] Add polly-debug flag to print debug info from all parts of polly (#78549)
This flag enable the user to print debug Info from all the passes and
helpers inside polly at once. This will help a novice user as well to
work in polly without explicitly having to know which parts of polly has
actually kicked in and pass them via -debug-only.
Commit: 0e5c504d3d80eb1488483a15269c2155f9e04bd7
https://github.com/llvm/llvm-project/commit/0e5c504d3d80eb1488483a15269c2155f9e04bd7
Author: Emil Pedersen <3mille.prenom.nom at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
A llvm/test/DebugInfo/X86/dbg-value-funcarg-duplicates.ll
Log Message:
-----------
[DebugInfo] [SelectionDAG] Fix handling of duplicate dbg values (#86598)
Before this fix, a duplicate llvm.dbg.value intrinsic referring to an
argument, after an alloca, would be generated with `$noreg`, losing
debug information. Instead, we silently drop the second debug info, so
it doesn't break the first one.
rdar://125375717
Commit: 28ddbd4a863c4c1b6c36deb6edf305ee93412cd4
https://github.com/llvm/llvm-project/commit/28ddbd4a863c4c1b6c36deb6edf305ee93412cd4
Author: Chris B <chris.bieneman at me.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
Log Message:
-----------
[NFC] Refactor ConstantArrayType size storage (#85716)
In PR #79382, I need to add a new type that derives from
ConstantArrayType. This means that ConstantArrayType can no longer use
`llvm::TrailingObjects` to store the trailing optional Expr*.
This change refactors ConstantArrayType to store a 60-bit integer and
4-bits for the integer size in bytes. This replaces the APInt field
previously in the type but preserves enough information to recreate it
where needed.
To reduce the number of places where the APInt is re-constructed I've
also added some helper methods to the ConstantArrayType to allow some
common use cases that operate on either the stored small integer or the
APInt as appropriate.
Resolves #85124.
Commit: 5e6e40fee31d5db2f44d604b0362e1e819f41ba5
https://github.com/llvm/llvm-project/commit/5e6e40fee31d5db2f44d604b0362e1e819f41ba5
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy] Improve performance of google-runtime-int (#86596)
Main problem with performance of this check is caused by hasAncestor
matcher, and to be more precise by an llvm::DenseSet and std::deque in
matchesAnyAncestorOf.
To reduce impact of this matcher, multiple conditions that were checked
in check method were copied into AST matcher that is now checked before
hasAncestor.
Using custom getCheckTraversalKind to exclude template instances that
shouldn't be checked anyway is an additional improvement, but gain from
that one is low.
Tested on ffl_tests.cc, visible reduction from ~442 seconds to ~15
seconds (~96% reduction).
Closes #86553
Commit: 156c2907462bc5e97d13d3e7d334a32a291bc787
https://github.com/llvm/llvm-project/commit/156c2907462bc5e97d13d3e7d334a32a291bc787
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Core/Progress.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb] Implement coalescing of disjoint progress events (#84854)
This implements coalescing of progress events using a timeout, as
discussed in the RFC on Discourse [1]. This PR consists of two commits
which, depending on the feedback, I may split up into two PRs. For now,
I think it's easier to review this as a whole.
1. The first commit introduces a new generic `Alarm` class. The class
lets you to schedule a function (callback) to be executed after a given
timeout expires. You can cancel and reset a callback before its
corresponding timeout expires. It achieves this with the help of a
worker thread that sleeps until the next timeout expires. The only
guarantee it provides is that your function is called no sooner than the
requested timeout. Because the callback is called directly from the
worker thread, a long running callback could potentially block the
worker thread. I intentionally kept the implementation as simple as
possible while addressing the needs for the `ProgressManager` use case.
If we want to rely on this somewhere else, we can reassess whether we
need to address those limitations.
2. The second commit uses the Alarm class to coalesce progress events.
To recap the Discourse discussion, when multiple progress events with
the same title execute in close succession, they get broadcast as one to
`eBroadcastBitProgressCategory`. The `ProgressManager` keeps track of
the in-flight progress events and when the refcount hits zero, the Alarm
class is used to schedule broadcasting the event. If a new progress
event comes in before the alarm fires, the alarm is reset (and the
process repeats when the new progress event ends). If no new event comes
in before the timeout expires, the progress event is broadcast.
[1]
https://discourse.llvm.org/t/rfc-improve-lldb-progress-reporting/75717/
Commit: 8ea94b614bd8ac74802867588129bcfd0a326620
https://github.com/llvm/llvm-project/commit/8ea94b614bd8ac74802867588129bcfd0a326620
Author: Félix-Antoine Constantin <60141446+felix642 at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
Log Message:
-----------
[clang-tidy] Improved modernize-use-using by fixing a false-negative (#82947)
The check needs a parent decl to match but if the typedef is in a
function, the parent is a declStmt which is not a decl by itself.
Improved the matcher to match on either a decl or a declstmt and extract
the decl from the stmt in the latter case.
Fixes #72179
Commit: 8a84596310f5b141817c784f0b4b46a636767e6e
https://github.com/llvm/llvm-project/commit/8a84596310f5b141817c784f0b4b46a636767e6e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
Log Message:
-----------
[flang] Dodge bogus GCC 13.2.0 error message in new code (#86708)
Rearrange some new code a little bit to avoid a bogus error message
coming out from GCC 13.2.0 about an uninitialized data member in a
parser.
Commit: 982ebeb212ddb354e2babc1ce1ddfccc06b6ea27
https://github.com/llvm/llvm-project/commit/982ebeb212ddb354e2babc1ce1ddfccc06b6ea27
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/sar_fold.ll
Log Message:
-----------
[X86] Pre-commit test case for bug in combineShiftRightArithmetic
It has been noticed that combineShiftRightArithmetic isn't dealing
properly with large shift amounts, as demonstrated by the test
case added in this commit.
I think the problem partly is related to X86 using i8 as shift amount
type during ISel. So shift amount larger then 127 may be treated
as negative shift amounts if not being careful.
Commit: 4c72cfa31798a67c6daa25d474bcfe536e4fa0c0
https://github.com/llvm/llvm-project/commit/4c72cfa31798a67c6daa25d474bcfe536e4fa0c0
Author: Michael Jones <michaelrj at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/test/src/math/smoke/CanonicalizeTest.h
Log Message:
-----------
[libc] Remove definition of LIBC_NAMESPACE in test (#86704)
The canonicalize test added in #85940 defined the LIBC_NAMESPACE macro.
this macro is intended to be set only by the build system and never in
the code.
Commit: 14e17ea1f62d9861f90a6a31e7c8a1d12bb081fc
https://github.com/llvm/llvm-project/commit/14e17ea1f62d9861f90a6a31e7c8a1d12bb081fc
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
Log Message:
-----------
[flang][acc] Add support for lowering combined constructs (#86696)
PR#80319 added support to record combined construct semantics via an
attribute. Add lowering support for this.
Commit: 3e6e54eb795ce7a1ccd47df8c22fc08125a88886
https://github.com/llvm/llvm-project/commit/3e6e54eb795ce7a1ccd47df8c22fc08125a88886
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/sar_fold.ll
Log Message:
-----------
[X86] Fix miscompile in combineShiftRightArithmetic (#86597)
When folding (ashr (shl, x, c1), c2) we need to treat c1 and c2
as unsigned to find out if the combined shift should be a left
or right shift.
Also do an early out during pre-legalization in case c1 and c2
has differet types, as that otherwise complicated the comparison
of c1 and c2 a bit.
Commit: 2d97ba22f8ca0fbb8896fd0f54c0cd7c69f4d0cd
https://github.com/llvm/llvm-project/commit/2d97ba22f8ca0fbb8896fd0f54c0cd7c69f4d0cd
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/src/stdlib/strfromd.cpp
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfroml.cpp
Log Message:
-----------
[libc]: Remove unused includes from strfrom*.cpp (#86657)
Removes unused header includes from `strfrom*()` implementation files.
Commit: a3f21a32495abeaddfa64a9789cd8c1b3fdad87c
https://github.com/llvm/llvm-project/commit/a3f21a32495abeaddfa64a9789cd8c1b3fdad87c
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/src/__support/macros/config.h
M libc/test/src/__support/arg_list_test.cpp
Log Message:
-----------
[libc] Remove LIBC_HAS_ATTRIBUTE macro (#86656)
Resolves #86547
Replace occurrences of the macro `LIBC_HAS_ATTRIBUTE` with `__has_attribute`.
Commit: ac1af75051195e63cc518cf12312dd4eaf2e9bf8
https://github.com/llvm/llvm-project/commit/ac1af75051195e63cc518cf12312dd4eaf2e9bf8
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/constant-builtins-2.c
Log Message:
-----------
[clang] Implement constexpr support for __builtin_{clzg,ctzg} (#86577)
Fixes #86549.
Commit: 158401493a42014947ef2fb64ca761b57741815a
https://github.com/llvm/llvm-project/commit/158401493a42014947ef2fb64ca761b57741815a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Check that the stack adjust immediate for cm.push/pop* has the correct sign and is divisible by 16. (#85295)
To do this I've added a new AsmOperand for cm.push to expect a negative
value. We also use that to customize the print function so that we don't
need to detect cm.push opcode to add the negative sign.
I've renamed some places that used Spimm to be StackAdj since that's
what is being parsed. I'm still not about where we should use Spimm or
StackAdj.
I've removed the printSpimm helper function which in one usage printed
the sp[5:4]<<4 value and the other usage printed the full stack
adjustment. There wasn't anything interesting about how it was printed
it just passed the value to the raw_stream. If there was something
special needed, it's unclear whether it would be the same for the two
different usages so I inlined it.
One open question is whether we need to support stack adjustments
expressed as an expression rather than a literal integer.
Commit: b0b8b16bb8dfb8c60fe9665c6a1c306306b716d2
https://github.com/llvm/llvm-project/commit/b0b8b16bb8dfb8c60fe9665c6a1c306306b716d2
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[NFC] [HWASan] Add link to proof for address calculation (#86367)
Commit: 880eb339cae3acba9be0b2ea3271dba22ea9ec1f
https://github.com/llvm/llvm-project/commit/880eb339cae3acba9be0b2ea3271dba22ea9ec1f
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
Log Message:
-----------
[NFC] [HWASan] make getAndroidSlotPtr function generic (#86200)
This is so we can use a different slot for stack MTE.
Commit: d5224b73ccd09a6759759791f58426b6acd4a2e2
https://github.com/llvm/llvm-project/commit/d5224b73ccd09a6759759791f58426b6acd4a2e2
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Log Message:
-----------
[tsan] Refine fstat{,64} interceptors (#86625)
In glibc versions before 2.33. `libc_nonshared.a` defines
`__fxstat/__fxstat64` but there is no `fstat/fstat64`. glibc 2.33 added
`fstat/fstat64` and obsoleted `__fxstat/__fxstat64`. Ports added after
2.33 do not provide `__fxstat/__fxstat64`, so our `fstat/fstat64`
interceptors using `__fxstat/__fxstat64` interceptors would lead to
runtime failures on such ports (LoongArch and certain RISC-V ports).
Similar to https://reviews.llvm.org/D118423, refine the conditions that
we define fstat{,64} interceptors. `fstat` is supported by musl/*BSD
while `fstat64` is glibc only.
Commit: 80487e1c622d51f4c0df12b64cca8a0b346e9b85
https://github.com/llvm/llvm-project/commit/80487e1c622d51f4c0df12b64cca8a0b346e9b85
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][NFC] Reorder entrys in release notes
Sort entrys in release notes.
Commit: a22bd00ce03a77a38be2911979a4c4f2ca01379d
https://github.com/llvm/llvm-project/commit/a22bd00ce03a77a38be2911979a4c4f2ca01379d
Author: Alina Sbirlea <asbirlea at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] [bazel] [NFC] Format deps.
Commit: c6d419c15bf836085392212b8ab7600f7402829b
https://github.com/llvm/llvm-project/commit/c6d419c15bf836085392212b8ab7600f7402829b
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[TOSA] Allow all integer types in most ops (#86509)
As discussed in one of the previous TOSA community meetings, we would
like to allow for more integer types in the TOSA dialect to enable more
use cases.
For strict standards conformance, the TosaValidation pass can be used.
Follow up PRs will extend conversions from TOSA where needed.
Commit: 630283c38bce9ec188c96ddb90b8251afc2b3d8e
https://github.com/llvm/llvm-project/commit/630283c38bce9ec188c96ddb90b8251afc2b3d8e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/src/__support/OSUtil/baremetal/quick_exit.cpp
Log Message:
-----------
[libc] Fix misplaced `[[noreturn]]` attribute.
Summary:
This needs to go after `extern "C"`.
Commit: 1949f7d6c9bd59172c01c7933e1c558797c47eac
https://github.com/llvm/llvm-project/commit/1949f7d6c9bd59172c01c7933e1c558797c47eac
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/fuchsia.cpp
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/string_utils.cpp
M compiler-rt/lib/scudo/standalone/string_utils.h
M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
M compiler-rt/lib/scudo/standalone/vector.h
Log Message:
-----------
[scudo] Clean up string handling (#86364)
Do not abort if a vector cannot increase its own capacity. In that case,
push_back calls silently fail.
Modify the ScopedString implementation so that it no longer requires two
passes to do the format. Move the helper functions to be private member
functions so that they can use push_back directly. This allows the
capacity to be increased under the hood and/or silently discards data if
the capacity is exceeded and cannot be increased.
Add new tests for the Vector and ScopedString for capacity increase
failures.
Doing this so that if a map call fails, and we are attempting to write
an error string, we can still get some of the message dumped. This also
avoids crashing in Scudo code, and makes the caller handle any failures.
Commit: 80bba17914dec52789d2e75ed560acb11cce959a
https://github.com/llvm/llvm-project/commit/80bba17914dec52789d2e75ed560acb11cce959a
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/src/__support/FPUtil/BasicOperations.h
Log Message:
-----------
[libc][FPUtil] fixup missing explicit cast (#86736)
The arm32 buildbot reports an error because UInt::operator bool() is explicit,
thus an explicit cast is necessary.
Link: #85940
Commit: 86692258637549ed9f863c3d2ba47b49f61bbc1f
https://github.com/llvm/llvm-project/commit/86692258637549ed9f863c3d2ba47b49f61bbc1f
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
[compiler-rt] Allow building builtins.a without a libc (#86737)
compiler-rt may depend on libc (memset etc). Likewise a libc built by
clang may depend on compiler-rt builtins.
This circular dependency doesn't matter much once they're both compiled.
The easy compilation order to build both from source is:
1. install libc headers somewhere
2. build compiler-rt builtins against those headers
3. build libc against compiler-rt builtins
This patch relaxes the cmake sanity check to pass without requiring a
libc library. That allows the above sequence to work. Otherwise one
needs to build a static libc, then use that to pass the compiler-rt
cmake check, then build a normal libc.
Commit: d31278896208d856b277e34bd7e2a63899f0b57b
https://github.com/llvm/llvm-project/commit/d31278896208d856b277e34bd7e2a63899f0b57b
Author: Xiangyang (Mark) Guo <helloguo at fb.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Analysis/InlineOrder.cpp
Log Message:
-----------
[InlineOrder] fix the calculation of Cost for CostBenefitPriority (#86630)
getCost() expects that isVariable() is true.
https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Analysis/InlineCost.h#L146
Co-authored-by: helloguo <helloguo at meta.com>
Commit: 09155ac290b0906ac8011c87ee43d7c7a2710387
https://github.com/llvm/llvm-project/commit/09155ac290b0906ac8011c87ee43d7c7a2710387
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[LegalizeDAG] Remove unneeded temporary SDValues from PerformInsertVectorEltInMemory. NFC
There were 3 temporaries that just renamed the 3 well name arguments to the
function to Tmp1-3. Looks like this was done when the code was extracted from
elsewhere into a separate function 15 years ago.
Commit: b1a633bc014a845a58f0f3c4e442219051646c19
https://github.com/llvm/llvm-project/commit/b1a633bc014a845a58f0f3c4e442219051646c19
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
Log Message:
-----------
[NFC][NVPTX] remove truncating c-style cast (#85889)
While a stack size large enough to cause this truncation to be a problem
would certainly cause other issues and not produce a valid program
anyway, this cast is triggering our Coverity static analysis. Removing
it seems cleaner.
Commit: 7db40463229bb1c9fb15b2107d878fe70d1eda65
https://github.com/llvm/llvm-project/commit/7db40463229bb1c9fb15b2107d878fe70d1eda65
Author: Vadim Paretsky <vadim.paretsky at intel.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M openmp/runtime/src/kmp_collapse.cpp
A openmp/runtime/test/worksharing/for/collapse_test.inc
A openmp/runtime/test/worksharing/for/omp_collapse_many_GELTGT_int.c
A openmp/runtime/test/worksharing/for/omp_collapse_many_GTGEGT_int.c
A openmp/runtime/test/worksharing/for/omp_collapse_many_LTLEGE_int.c
A openmp/runtime/test/worksharing/for/omp_collapse_many_int.c
A openmp/runtime/test/worksharing/for/omp_collapse_one_int.c
Log Message:
-----------
[OpenMP] add loop collapse tests (#86243)
This PR adds loop collapse tests ported from MSVC.
---------
Co-authored-by: Vadim Paretsky <b-vadipa at microsoft.com>
Commit: c43932ebdc407ed9633f7468dcb061b635e99a8d
https://github.com/llvm/llvm-project/commit/c43932ebdc407ed9633f7468dcb061b635e99a8d
Author: SevenIsSeven <150881358+SevenIsSeven at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
Log Message:
-----------
fix build error in MSVC build (#86622)
This commit(https://github.com/llvm/llvm-project/pull/84738) introduced
following compile warning then treated-as-error in MSVC build.
>>>"'^': unsafe mix of type 'unsigned int' and type 'bool' in operation"
---------
Co-authored-by: Seven <Seven.Li at amd.com>
Commit: 3324f4d4f4bd82bc9fd43062d21a450671a3531b
https://github.com/llvm/llvm-project/commit/3324f4d4f4bd82bc9fd43062d21a450671a3531b
Author: Aart Bik <ajcbik at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
A mlir/test/Dialect/SparseTensor/no_fold_into_consumer.mlir
Log Message:
-----------
[mlir][sparse] avoid incompatible linalg fuse-into-consumer (#86752)
This fixes an "infinite" loop bug, where the incoming IR was repeatedly
rewritten while adding identical cast operations. The test for
compatible types should include the notion of an encoding. If it
differs, then a
naive fusion into the consumer is invalid.
Commit: 54a9f0e441c7cc3c954d24cfde00cb933306a9e9
https://github.com/llvm/llvm-project/commit/54a9f0e441c7cc3c954d24cfde00cb933306a9e9
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv64.mir
Log Message:
-----------
[RISCV][GISEL] Legalize, regbankselect, and instruction-select G_VSCALE (#85967)
G_VSCALE should be lowered using VLENB. If the type is not sXLen it
should be lowered using a G_VSCALE on the narrow type and a G_MUL.
regbank select and instruction select are straightforward so we really
only need to add tests to show it works.
Commit: 373d8755140df0c760e9c292c5f88479cdda6f4c
https://github.com/llvm/llvm-project/commit/373d8755140df0c760e9c292c5f88479cdda6f4c
Author: Pavel Kosov <kpdev42 at gmail.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGExpr.cpp
A clang/test/CodeGen/cfi-check-attrs.c
M clang/test/CodeGen/cfi-check-fail.c
Log Message:
-----------
[cfi][CodeGen] Call SetLLVMFunctionAttributes{,ForDefinition} on __cf… (#78253)
…i_check
This causes __cfi_check, just as __cfi_check_fail, to get the proper
target-specific attributes, in particular uwtable for unwind table
generation. Previously, nounwind attribute could be inferred for
__cfi_check, which caused it to lose its unwind table even with
-funwind-table option.
~~
Huawei RRI, OS Lab
Co-authored-by: Nikolai Kholiavin <kholiavin.nikolai at huawei-partners.com>
Commit: d345599c2851c7ef25d2350244cbfe7cfef36386
https://github.com/llvm/llvm-project/commit/d345599c2851c7ef25d2350244cbfe7cfef36386
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RegisterBankInfo.cpp
Log Message:
-----------
[GISEL][NFC] Use getElementCount instead of getNumElements in more places
These cases in particular are done as a precommit to support
legalization, regbank selection, and instruction selection for extends,
splat vectors, and integer compares in #85938.
Commit: d023995ae2cc6ab968ec305ea7b6f11b6ac2e78f
https://github.com/llvm/llvm-project/commit/d023995ae2cc6ab968ec305ea7b6f11b6ac2e78f
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
AMDGPU: Simplify EmitAMDGPUBuiltinExpr for load transposes, NFC (#86707)
We should not manually get the types of the loading data.
Instead, we can get the types from the intrinsics directly.
Commit: 4720e3831b814fdd2e8441ee0ac05b6934fdf533
https://github.com/llvm/llvm-project/commit/4720e3831b814fdd2e8441ee0ac05b6934fdf533
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
Log Message:
-----------
[NFC][Sanitizer] Refine the restriction on SizeClassAllocator64::kRegionSize (#86270)
This patch replaces the `SANITIZER_WORDSIZE / 2` with
`sizeof(CompactPtrT) * 8`, replaces hardcoded `4` with
`kCompactPtrScale` in assertion.
Commit: 10b07f2324aa990664c4141ffab534603af35c7a
https://github.com/llvm/llvm-project/commit/10b07f2324aa990664c4141ffab534603af35c7a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
Log Message:
-----------
[mlir][Interfaces] `ValueBoundsConstraintSet`: Add `dump` helper function (#86634)
This commit adds a helper function that dumps the constraint set and the
mapping of columns to values/dims. For debugging only.
Example output:
```
==========
Columns:
(column dim value)
0 1 linalg.fill (result 0)
1 1 tensor.extract_slice (result 0)
2 n/a affine.min (result 0)
3 n/a scf.for (bbarg 0)
4 n/a func.func (bbarg 2)
Constraint set:
Domain: 0, Range: 1, Symbols: 4, Locals: 0
6 constraints
(None None None None None const)
1 -1 0 0 0 0 = 0
0 1 -1 0 0 0 = 0
0 0 -1 -1 1 0 >= 0
0 0 -1 0 0 4 >= 0
0 0 0 1 0 0 >= 0
0 0 0 -1 1 -1 >= 0
==========
```
Commit: fa1b807befdc7b31b1c0e0ab625170924f7b4951
https://github.com/llvm/llvm-project/commit/fa1b807befdc7b31b1c0e0ab625170924f7b4951
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/Dialect/Transform/ops-invalid.mlir
Log Message:
-----------
[mlir] fix crash in transform.print verification (#86679)
Transform op trait verification calls `getEffects`, and since trait
verification runs before op verification, this call cannot assume the op
to be valid. However, the operand getters now return a `TypedValue` that
unconditionally casts the value to the expected type, leading to an
assertion failure. Use the untyped mechanism instead.
Fixes #84701.
Commit: 7545c635729a2055a429c5decd26a619a8d6e74b
https://github.com/llvm/llvm-project/commit/7545c635729a2055a429c5decd26a619a8d6e74b
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/cast.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-broadcast.ll
Log Message:
-----------
[RISCV][TTI] Scale the cost of the sext/zext with LMUL (#86617)
Use the destination data type to measure the LMUL size for
latency/throughput cost
Commit: 082e7c480e033c1b973b8379a31929d04e236868
https://github.com/llvm/llvm-project/commit/082e7c480e033c1b973b8379a31929d04e236868
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Remove empty edges once after cloning (#85320)
Restructure the handling of edges that become empty during the cloning
process. Instead of removing them as they become empty (no context ids
and alloc type), do this once after all cloning is complete.
This has no effect on the cloning result, but prepares for a follow on
change that does improve the cloning. The structural change here reduces
the diffs for the follow on change, which would be much more difficult
with the previous handling.
Commit: af73a86511d27b0267ae674422a84770882db981
https://github.com/llvm/llvm-project/commit/af73a86511d27b0267ae674422a84770882db981
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
A .github/workflows/issue-write.yml
M .github/workflows/llvm-tests.yml
M .github/workflows/pr-code-format.yml
M bolt/CMakeLists.txt
M bolt/docs/BAT.md
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Core/MCPlus.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/YAMLProfileWriter.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/X86/Inputs/blarge_new.preagg.txt
A bolt/test/X86/Inputs/blarge_new.yaml
A bolt/test/X86/Inputs/blarge_new_bat.preagg.txt
A bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
A bolt/test/X86/dwarf4-label-low-pc.s
A bolt/test/X86/dwarf5-debug-names-cross-cu.s
A bolt/test/X86/dwarf5-debug-names-dw-at-specification.s
M bolt/test/X86/dwarf5-debug-names-generate-debug-names.test
M bolt/test/X86/dwarf5-debug-names.test
M bolt/test/X86/dwarf5-df-debug-names-generate-debug-names.test
M bolt/test/X86/dwarf5-df-debug-names.test
M bolt/test/X86/dwarf5-df-main-debug-names-ftu-ltu-mix.test
M bolt/test/X86/dwarf5-df-one-cu-debug-names.test
M bolt/test/X86/dwarf5-df-types-debug-names.test
M bolt/test/X86/dwarf5-df-types-one-cu-debug-names.test
M bolt/test/X86/dwarf5-label-low-pc.s
M bolt/test/X86/dwarf5-one-cu-debug-names.test
M bolt/test/X86/dwarf5-types-debug-names.test
M bolt/test/X86/dwarf5-types-one-cu-debug-names.test
M bolt/test/X86/linux-alt-instruction.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-parainstructions.s
A bolt/test/X86/linux-static-keys.s
M bolt/test/X86/reader-stale-yaml.test
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.h
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/test/inlayHints.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/SelectionTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-stringview-data-usage.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-avoid-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-definition-in-anonymous-namespace.cpp
M clang/CMakeLists.txt
M clang/bindings/python/clang/cindex.py
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/cmake/caches/HLSL.cmake
M clang/docs/ClangFormat.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/HLSL/HLSLSupport.rst
M clang/docs/LanguageExtensions.rst
A clang/docs/PointerAuthentication.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Availability.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
A clang/include/clang/Analysis/FlowSensitive/AdornedCFG.h
M clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/Logger.h
M clang/include/clang/Analysis/FlowSensitive/RecordOps.h
M clang/include/clang/Analysis/FlowSensitive/Transfer.h
M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
M clang/include/clang/Analysis/PathDiagnostic.h
M clang/include/clang/Basic/AllDiagnostics.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
A clang/include/clang/Basic/Builtins.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
A clang/include/clang/Basic/DiagnosticInstallAPI.h
A clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/SyncScope.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Driver/Types.def
M clang/include/clang/Format/.clang-format
M clang/include/clang/Format/Format.h
M clang/include/clang/InstallAPI/Context.h
A clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/FrontendRecords.h
M clang/include/clang/InstallAPI/HeaderFile.h
A clang/include/clang/InstallAPI/InstallAPIDiagnostic.h
M clang/include/clang/InstallAPI/MachO.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Interpreter/Value.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/Availability.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/ByteCodeStmtGen.h
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBuiltin.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/Program.cpp
M clang/lib/AST/Interp/Program.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/CFG.cpp
A clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
R clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Logger.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/LangStandards.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTT.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/WebAssembly.h
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/.clang-format
M clang/lib/Format/BreakableToken.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/lib/Format/Encoding.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatInternal.h
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/FormatTokenSource.h
M clang/lib/Format/Macros.h
M clang/lib/Format/SortJavaScriptImports.h
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/FrontendOptions.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/bmiintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/intrin.h
A clang/lib/Headers/intrin0.h
M clang/lib/Headers/keylockerintrin.h
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/module.modulemap
A clang/lib/Headers/ptrauth.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/x86gprintrin.h
M clang/lib/Headers/x86intrin.h
M clang/lib/Headers/xmmintrin.h
A clang/lib/Headers/yvals_core.h
M clang/lib/InstallAPI/CMakeLists.txt
A clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/HeaderFile.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/IncrementalExecutor.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc
M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/builtins.cpp
M clang/test/AST/Interp/c.c
A clang/test/AST/Interp/c23.c
M clang/test/AST/Interp/complex.c
M clang/test/AST/Interp/complex.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/AST/Interp/cxx98.cpp
M clang/test/AST/Interp/if.cpp
M clang/test/AST/Interp/literals.cpp
A clang/test/AST/Interp/ms.cpp
M clang/test/AST/Interp/records.cpp
M clang/test/AST/ast-dump-concepts.cpp
M clang/test/Analysis/ArrayDelete.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/analyzer-display-progress.cpp
M clang/test/Analysis/analyzer-display-progress.m
A clang/test/Analysis/analyzer-note-analysis-entry-points.cpp
M clang/test/Analysis/block-in-critical-section.cpp
A clang/test/Analysis/cxx23-static-operator.cpp
M clang/test/Analysis/eval-predefined-exprs.cpp
A clang/test/Analysis/getline-cpp.cpp
A clang/test/Analysis/getline-unixapi.c
M clang/test/Analysis/inlining/false-positive-suppression.cpp
M clang/test/Analysis/loop-unrolling.cpp
M clang/test/Analysis/out-of-bounds-diagnostics.c
M clang/test/Analysis/stream.c
M clang/test/Analysis/taint-diagnostic-visitor.c
A clang/test/C/C11/n1282.c
A clang/test/C/C11/n1310.c
A clang/test/C/C11/n1365.c
M clang/test/C/C2x/n2975.c
A clang/test/C/C99/block-scopes.c
A clang/test/C/C99/n696.c
M clang/test/C/drs/dr0xx.c
A clang/test/C/drs/dr290.c
A clang/test/ClangScanDeps/modules-extension.c
M clang/test/CodeCompletion/member-access.cpp
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-rotate.c
M clang/test/CodeGen/SystemZ/systemz-ppa2.c
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
A clang/test/CodeGen/X86/cx-complex-range.c
A clang/test/CodeGen/X86/x86_64-vaarg.c
M clang/test/CodeGen/aapcs-align.cpp
M clang/test/CodeGen/aapcs64-align.cpp
A clang/test/CodeGen/aarch64-mixed-target-attributes.c
A clang/test/CodeGen/aarch64-soft-float-abi-errors.c
A clang/test/CodeGen/aarch64-soft-float-abi.c
A clang/test/CodeGen/attr-counted-by-debug-info.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/builtins.c
A clang/test/CodeGen/cfi-check-attrs.c
M clang/test/CodeGen/cfi-check-fail.c
M clang/test/CodeGen/complex-math.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/pragma-cx-limited-range.c
A clang/test/CodeGen/ptrauth-intrinsics.c
M clang/test/CodeGen/smiths-complex-div.c
M clang/test/CodeGen/swift-async-call-conv.c
M clang/test/CodeGen/target-avx-abi-diag.c
M clang/test/CodeGen/ubsan-builtin-checks.c
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/arm-swiftcall.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/const-init-cxx11.cpp
M clang/test/CodeGenCXX/constructor-init.cpp
M clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp
M clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
M clang/test/CodeGenCXX/mangle-ms-back-references.cpp
M clang/test/CodeGenCXX/microsoft-interface.cpp
M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
M clang/test/CodeGenCXX/static-init.cpp
M clang/test/CodeGenCXX/strict-vtable-pointers.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
M clang/test/CodeGenCXX/vtt-layout.cpp
A clang/test/CodeGenCXX/x86_64-vaarg.cpp
A clang/test/CodeGenCoroutines/coro-symmetric-transfer-04.cpp
A clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
A clang/test/CodeGenHLSL/builtins/isinf.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M clang/test/CodeGenObjC/debug-info-blocks.m
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
M clang/test/Driver/aarch64-mcpu.c
A clang/test/Driver/aarch64-ptrauth.c
A clang/test/Driver/aarch64-soft-float-abi.c
M clang/test/Driver/apple-kext-mkernel.c
M clang/test/Driver/clang-g-opts.c
M clang/test/Driver/clang-offload-bundler-asserts-on.c
M clang/test/Driver/clang-offload-bundler-standardize.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/fat-archive-unbundle-ext.c
A clang/test/Driver/fsanitize-signed-integer-overflow.c
A clang/test/Driver/hexagon-default-build-attributes.s
M clang/test/Driver/hip-partial-link.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-runtime-libs-linux.hip
M clang/test/Driver/loongarch-munaligned-access.c
M clang/test/Driver/mips-features.c
A clang/test/Driver/modules-print-library-module-manifest-path.cpp
M clang/test/Driver/munaligned-access-unused.c
M clang/test/Driver/range.c
M clang/test/Driver/riscv-features.c
A clang/test/Driver/riscv-profiles.c
M clang/test/Driver/tls-dialect.c
M clang/test/Driver/unsupported-option-gpu.c
M clang/test/Driver/wasm-toolchain.c
A clang/test/Format/fail-on-incomplete.cpp
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.yaml
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
A clang/test/InstallAPI/asm.test
A clang/test/InstallAPI/availability.test
M clang/test/InstallAPI/basic.test
A clang/test/InstallAPI/diagnostics-cpp.test
M clang/test/InstallAPI/driver-invalid-options.test
A clang/test/InstallAPI/extra-exclude-headers.test
M clang/test/InstallAPI/functions.test
A clang/test/InstallAPI/hiddens.test
A clang/test/InstallAPI/linker-symbols.test
A clang/test/InstallAPI/mismatching-objc-class-symbols.test
A clang/test/InstallAPI/symbol-flags.test
M clang/test/Lexer/gnu-flags.c
M clang/test/Lexer/has_extension_cxx.cpp
M clang/test/Misc/target-invalid-cpu-note.c
A clang/test/Modules/bounds-safety-attributed-type.c
A clang/test/Modules/reduced-bmi-generating-codes.cppm
M clang/test/OpenMP/bug54082.c
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/declare_reduction_messages.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/map_struct_ordering.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/openmp_check.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_data_use_device_ptr_inheritance_codegen.cpp
M clang/test/OpenMP/target_firstprivate_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_deref_array_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
A clang/test/Options/HV.hlsl
A clang/test/PCH/Inputs/bounds-safety-attributed-type.h
A clang/test/PCH/bounds-safety-attributed-type.c
A clang/test/Parser/cxx03-lambda-extension.cpp
M clang/test/Parser/cxx0x-lambda-expressions.cpp
M clang/test/Parser/cxx2b-lambdas.cpp
M clang/test/Parser/objcxx-lambda-expressions-neg.mm
M clang/test/ParserHLSL/group_shared.hlsl
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/bpf-predefined-macros.c
M clang/test/Preprocessor/empty_va_arg.cpp
M clang/test/Preprocessor/macro_fn.c
A clang/test/Preprocessor/ptrauth_feature.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/sysroot-prefix.c
A clang/test/Sema/PR84368.cpp
A clang/test/Sema/PR85343.cpp
M clang/test/Sema/aarch64-sme-func-attrs.c
M clang/test/Sema/arm-vector-types-support.c
M clang/test/Sema/attr-counted-by.c
M clang/test/Sema/attr-target-clones-aarch64.c
M clang/test/Sema/attr-target-version.c
R clang/test/Sema/builtin-popcountg.c
M clang/test/Sema/builtins-arm64.c
M clang/test/Sema/const-eval.c
M clang/test/Sema/constant-builtins-2.c
A clang/test/Sema/constexpr-void-cast.c
A clang/test/Sema/count-builtins.c
A clang/test/Sema/ptrauth-intrinsics-macro.c
A clang/test/Sema/ptrauth.c
M clang/test/Sema/swift-call-conv.c
M clang/test/Sema/warn-bitwise-and-bool.c
M clang/test/Sema/warn-bitwise-or-bool.c
M clang/test/Sema/warn-cast-function-type-strict.c
M clang/test/Sema/warn-cast-function-type.c
M clang/test/SemaCXX/attr-target-version.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx2a-template-lambdas.cpp
M clang/test/SemaCXX/datasizeof.cpp
M clang/test/SemaCXX/decomposed-condition.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/lambda-implicit-this-capture.cpp
M clang/test/SemaCXX/lambda-invalid-capture.cpp
M clang/test/SemaCXX/namespace-alias.cpp
M clang/test/SemaCXX/new-delete.cpp
M clang/test/SemaCXX/source_location.cpp
M clang/test/SemaCXX/warn-cast-function-type-strict.cpp
M clang/test/SemaCXX/warn-cast-function-type.cpp
M clang/test/SemaCXX/warn-constant-evaluated-constexpr.cpp
M clang/test/SemaCXX/warn-exit-time-destructors.cpp
A clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
A clang/test/SemaObjC/attr-objc-NSObject.m
M clang/test/SemaTemplate/concepts.cpp
M clang/tools/clang-format/.clang-format
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-installapi/CMakeLists.txt
M clang/tools/clang-installapi/ClangInstallAPI.cpp
A clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/diagtool/DiagnosticNames.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/Analysis/FlowSensitive/DeterminismTest.cpp
M clang/unittests/Analysis/FlowSensitive/LoggerTest.cpp
M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Format/.clang-format
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
A clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M clang/unittests/Tooling/StandardLibraryTest.cpp
M clang/utils/analyzer/exploded-graph-rewriter.py
M clang/www/analyzer/alpha_checks.html
M clang/www/analyzer/available_checks.html
M clang/www/c_dr_status.html
M clang/www/c_status.html
M clang/www/cxx_status.html
M clang/www/get_started.html
A cmake/Modules/GetDarwinLinkerVersion.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/sanitizer/linux_syscall_hooks.h
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_win_dll_thunk.cpp
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
M compiler-rt/lib/dfsan/dfsan.cpp
M compiler-rt/lib/dfsan/dfsan_allocator.cpp
M compiler-rt/lib/dfsan/dfsan_platform.h
M compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
M compiler-rt/lib/hwasan/hwasan_checks.h
M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/memprof/memprof_allocator.h
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/msan/msan.h
M compiler-rt/lib/msan/msan_allocator.cpp
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/msan/msan_linux.cpp
M compiler-rt/lib/msan/tests/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
A compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/allocator_config.h
A compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/condition_variable.h
M compiler-rt/lib/scudo/standalone/fuchsia.cpp
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/memtag.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/string_utils.cpp
M compiler-rt/lib/scudo/standalone/string_utils.h
M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
A compiler-rt/lib/scudo/standalone/tests/allocator_config_test.cpp
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
M compiler-rt/lib/scudo/standalone/vector.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
M compiler-rt/lib/tsan/tests/CMakeLists.txt
M compiler-rt/lib/ubsan/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_heap_allocation.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_host.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_malloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/dll_malloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/double_free.cpp
M compiler-rt/test/asan/TestCases/Windows/intercept_strdup.cpp
R compiler-rt/test/asan/TestCases/Windows/interface_symbols_windows.cpp
M compiler-rt/test/asan/TestCases/Windows/issue64990.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/malloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/realloc_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/symbols_path.cpp
M compiler-rt/test/asan/TestCases/Windows/use_after_realloc.cpp
M compiler-rt/test/asan/TestCases/calloc-overflow.cpp
M compiler-rt/test/asan/TestCases/deep_stack_uaf.cpp
M compiler-rt/test/asan/TestCases/double-free.cpp
M compiler-rt/test/asan/TestCases/malloc-size-too-big.cpp
M compiler-rt/test/asan/TestCases/strncpy-overflow.cpp
M compiler-rt/test/asan/TestCases/use-after-free-right.cpp
M compiler-rt/test/asan/TestCases/use-after-free.cpp
M compiler-rt/test/asan_abi/CMakeLists.txt
M compiler-rt/test/dfsan/custom.cpp
M compiler-rt/test/fuzzer/CMakeLists.txt
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/lsan/TestCases/recoverable_leak_check.cpp
M compiler-rt/test/memprof/CMakeLists.txt
M compiler-rt/test/msan/CMakeLists.txt
M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
A compiler-rt/test/tsan/signal_in_futex_wait.cpp
A compiler-rt/test/tsan/signal_in_mutex_lock.cpp
M compiler-rt/test/ubsan/CMakeLists.txt
M compiler-rt/test/xray/CMakeLists.txt
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio2022.py
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/list-debuggers/list-debuggers.test
M flang/docs/OpenMP-descriptor-management.md
A flang/docs/RuntimeEnvironment.md
M flang/docs/index.md
M flang/include/flang/Common/Version.h
A flang/include/flang/Common/api-attrs.h
M flang/include/flang/Common/idioms.h
A flang/include/flang/Common/optional.h
M flang/include/flang/Common/real.h
A flang/include/flang/Common/reference-wrapper.h
M flang/include/flang/Common/restorer.h
M flang/include/flang/Common/template.h
M flang/include/flang/Common/uint128.h
M flang/include/flang/Common/unwrap.h
A flang/include/flang/Common/variant.h
M flang/include/flang/Common/visit.h
M flang/include/flang/Decimal/binary-floating-point.h
M flang/include/flang/Decimal/decimal.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/constant.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Frontend/LangOptions.h
M flang/include/flang/ISO_Fortran_binding.h
M flang/include/flang/ISO_Fortran_binding_wrapper.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
A flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/tools.h
R flang/include/flang/Runtime/api-attrs.h
M flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Runtime/entry-names.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Runtime/iostat.h
M flang/include/flang/Runtime/memory.h
A flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Runtime/type-code.h
M flang/include/flang/Semantics/module-dependences.h
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/constant.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
A flang/lib/Lower/OpenMP/Clauses.cpp
A flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/executable-parsers.cpp
M flang/lib/Parser/misc-parsers.h
M flang/lib/Parser/tools.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/data-to-inits.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/__fortran_builtins.f90
R flang/module/omp_lib.f90
R flang/module/omp_lib.h
M flang/runtime/CMakeLists.txt
M flang/runtime/buffer.cpp
M flang/runtime/buffer.h
M flang/runtime/complex-reduction.c
M flang/runtime/complex-reduction.h
M flang/runtime/connection.cpp
M flang/runtime/connection.h
M flang/runtime/derived-api.cpp
M flang/runtime/derived.h
M flang/runtime/descriptor-io.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/edit-input.cpp
M flang/runtime/edit-input.h
M flang/runtime/edit-output.cpp
M flang/runtime/edit-output.h
M flang/runtime/emit-encoded.h
M flang/runtime/environment.cpp
M flang/runtime/environment.h
A flang/runtime/external-unit.cpp
M flang/runtime/extrema.cpp
M flang/runtime/file.cpp
M flang/runtime/file.h
M flang/runtime/format-implementation.h
M flang/runtime/format.cpp
M flang/runtime/format.h
M flang/runtime/freestanding-tools.h
M flang/runtime/internal-unit.cpp
M flang/runtime/internal-unit.h
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/iostat.cpp
M flang/runtime/lock.h
M flang/runtime/matmul-transpose.cpp
M flang/runtime/matmul.cpp
M flang/runtime/memory.cpp
M flang/runtime/misc-intrinsic.cpp
M flang/runtime/namelist.cpp
M flang/runtime/namelist.h
M flang/runtime/non-tbp-dio.h
M flang/runtime/numeric-templates.h
M flang/runtime/pointer.cpp
A flang/runtime/pseudo-unit.cpp
M flang/runtime/random-templates.h
M flang/runtime/random.cpp
A flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/stat.h
M flang/runtime/terminator.h
M flang/runtime/tools.cpp
M flang/runtime/tools.h
M flang/runtime/type-code.cpp
M flang/runtime/type-info.cpp
M flang/runtime/type-info.h
M flang/runtime/unit-map.cpp
M flang/runtime/unit.cpp
M flang/runtime/unit.h
M flang/runtime/utf.cpp
M flang/runtime/utf.h
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/cuda-option.f90
M flang/test/Driver/driver-help-hidden.f90
R flang/test/Driver/flang-experimental-polymorphism-flag.f90
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Driver/include-omp-header.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Evaluate/fold-scale.f90
M flang/test/Fir/array-value-copy-2.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/boxproc-2.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/dispatch.f90
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
A flang/test/Fir/omp-reduction-embox-codegen.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/call_with_poly_dummy.f90
A flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/CUDA/cuda-module-use.cuf
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-return.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
A flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg-polymorphic.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/designators-component-ref.f90
M flang/test/Lower/HLFIR/designators-parameter-array-slice.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-polymorphic-merge.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref-polymorphic.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/function-return-destroy.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/ignore-type-assumed-shape.f90
M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
M flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
M flang/test/Lower/HLFIR/intrinsic-assumed-type.f90
M flang/test/Lower/HLFIR/parent-component-ref.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/polymorphic-expressions.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
A flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/transpose.f90
M flang/test/Lower/HLFIR/type-bound-call-mismatch.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
A flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/extends_type_of.f90
M flang/test/Lower/Intrinsics/modulo.f90
M flang/test/Lower/Intrinsics/same_type_as.f90
M flang/test/Lower/Intrinsics/sizeof.f90
M flang/test/Lower/Intrinsics/spread.f90
M flang/test/Lower/Intrinsics/storage_size.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenMP/FIR/array-bounds.f90
M flang/test/Lower/OpenMP/FIR/atomic-capture.f90
M flang/test/Lower/OpenMP/FIR/atomic-read.f90
M flang/test/Lower/OpenMP/FIR/atomic-update.f90
M flang/test/Lower/OpenMP/FIR/atomic-write.f90
M flang/test/Lower/OpenMP/FIR/critical.f90
M flang/test/Lower/OpenMP/FIR/flush.f90
M flang/test/Lower/OpenMP/FIR/map-component-ref.f90
M flang/test/Lower/OpenMP/FIR/master.f90
M flang/test/Lower/OpenMP/FIR/ordered-threads.f90
M flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
M flang/test/Lower/OpenMP/FIR/parallel.f90
M flang/test/Lower/OpenMP/FIR/sections.f90
M flang/test/Lower/OpenMP/FIR/single.f90
M flang/test/Lower/OpenMP/FIR/target.f90
M flang/test/Lower/OpenMP/FIR/task.f90
M flang/test/Lower/OpenMP/FIR/taskgroup.f90
M flang/test/Lower/OpenMP/FIR/teams.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
R flang/test/Lower/OpenMP/Todo/reduction-arrays.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/declare-target-link-tarop-cap.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
A flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
A flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
A flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
M flang/test/Lower/OpenMP/ordered-threads.f90
M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-add.f90
A flang/test/Lower/OpenMP/parallel-reduction-array.f90
A flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
A flang/test/Lower/OpenMP/parallel-reduction-rename.f90
M flang/test/Lower/OpenMP/parallel-reduction.f90
M flang/test/Lower/OpenMP/parallel-sections.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup.f90
M flang/test/Lower/OpenMP/teams.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
A flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-return.f90
M flang/test/Lower/assumed-type.f90
M flang/test/Lower/cray-pointer.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/dispatch-table.f90
M flang/test/Lower/dispatch.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/io-derived-type-2.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/pass-null-for-class-arg.f90
M flang/test/Lower/pointer-association-polymorphic.f90
M flang/test/Lower/pointer-disassociate.f90
M flang/test/Lower/polymorphic-temp.f90
M flang/test/Lower/polymorphic-types.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type-2.f90
M flang/test/Lower/select-type.f90
M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
M flang/test/Parser/OpenMP/allocate-tree.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/cuf-sanity-tree.CUF
A flang/test/Parser/unrecognized-dir.f90
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
A flang/test/Semantics/OpenMP/do20.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
A flang/test/Semantics/OpenMP/reduction11.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
A flang/test/Semantics/call41.f90
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/declarations02.f90
A flang/test/Semantics/deferred01.f90
M flang/test/Semantics/doconcurrent08.f90
A flang/test/Semantics/forall02.f90
M flang/test/Semantics/init01.f90
M flang/test/Semantics/modfile63.f90
M flang/test/Semantics/resolve11.f90
M flang/test/Semantics/resolve61.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/separate-mp05.f90
A flang/test/Semantics/structconst09.f90
M flang/test/Transforms/omp-descriptor-map-info-gen.fir
A flang/test/Transforms/omp-reduction-cfg-conversion.fir
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/unittests/Runtime/NumericalFormatTest.cpp
M flang/unittests/Runtime/Reduction.cpp
M libc/CMakeLists.txt
M libc/config/baremetal/api.td
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/gpu/api.td
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/dev/printf_behavior.rst
M libc/docs/dev/undefined_behavior.rst
M libc/docs/fullbuild_mode.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/testing.rst
M libc/docs/gpu/using.rst
M libc/docs/math/index.rst
M libc/docs/stdio.rst
M libc/fuzzing/CMakeLists.txt
M libc/fuzzing/math/RemQuoDiff.h
M libc/fuzzing/math/SingleInputSingleOutputDiff.h
M libc/fuzzing/math/TwoInputSingleOutputDiff.h
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
M libc/include/CMakeLists.txt
M libc/include/arpa/inet.h.def
M libc/include/assert.h.def
M libc/include/ctype.h.def
M libc/include/dirent.h.def
M libc/include/errno.h.def
M libc/include/fcntl.h.def
M libc/include/features.h.def
M libc/include/fenv.h.def
M libc/include/float.h.def
M libc/include/gpu/rpc.h.def
M libc/include/inttypes.h.def
M libc/include/limits.h.def
M libc/include/llvm-libc-macros/containerof-macro.h
M libc/include/llvm-libc-macros/math-macros.h
M libc/include/llvm-libc-macros/stdio-macros.h
M libc/include/llvm-libc-macros/sys-queue-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/__mutex_type.h
M libc/include/llvm-libc-types/cookie_io_functions_t.h
M libc/include/llvm-libc-types/fd_set.h
A libc/include/llvm-libc-types/fsblkcnt_t.h
A libc/include/llvm-libc-types/fsfilcnt_t.h
M libc/include/llvm-libc-types/mtx_t.h
M libc/include/llvm-libc-types/once_flag.h
M libc/include/llvm-libc-types/pthread_attr_t.h
M libc/include/llvm-libc-types/pthread_mutex_t.h
M libc/include/llvm-libc-types/pthread_once_t.h
M libc/include/llvm-libc-types/pthread_t.h
M libc/include/llvm-libc-types/siginfo_t.h
M libc/include/llvm-libc-types/sigset_t.h
M libc/include/llvm-libc-types/stack_t.h
M libc/include/llvm-libc-types/struct_dirent.h
M libc/include/llvm-libc-types/struct_epoll_event.h
M libc/include/llvm-libc-types/struct_rlimit.h
M libc/include/llvm-libc-types/struct_rusage.h
M libc/include/llvm-libc-types/struct_sched_param.h
M libc/include/llvm-libc-types/struct_sigaction.h
M libc/include/llvm-libc-types/struct_sockaddr.h
M libc/include/llvm-libc-types/struct_sockaddr_un.h
M libc/include/llvm-libc-types/struct_stat.h
A libc/include/llvm-libc-types/struct_statvfs.h
M libc/include/llvm-libc-types/struct_termios.h
M libc/include/llvm-libc-types/struct_timespec.h
M libc/include/llvm-libc-types/struct_timeval.h
M libc/include/llvm-libc-types/thrd_t.h
M libc/include/math.h.def
M libc/include/pthread.h.def
M libc/include/sched.h.def
M libc/include/search.h.def
M libc/include/setjmp.h.def
M libc/include/signal.h.def
M libc/include/spawn.h.def
M libc/include/stdbit.h.def
M libc/include/stdckdint.h.def
M libc/include/stdfix.h.def
M libc/include/stdint.h.def
M libc/include/stdio.h.def
M libc/include/stdlib.h.def
M libc/include/string.h.def
M libc/include/strings.h.def
M libc/include/sys/auxv.h.def
M libc/include/sys/epoll.h.def
M libc/include/sys/ioctl.h.def
M libc/include/sys/mman.h.def
M libc/include/sys/prctl.h.def
M libc/include/sys/queue.h
M libc/include/sys/random.h.def
M libc/include/sys/resource.h.def
M libc/include/sys/select.h.def
M libc/include/sys/sendfile.h.def
M libc/include/sys/socket.h.def
M libc/include/sys/stat.h.def
A libc/include/sys/statvfs.h.def
M libc/include/sys/time.h.def
M libc/include/sys/types.h.def
M libc/include/sys/utsname.h.def
M libc/include/sys/wait.h.def
M libc/include/termios.h.def
M libc/include/threads.h.def
M libc/include/time.h.def
M libc/include/uchar.h.def
M libc/include/unistd.h.def
M libc/include/wchar.h.def
M libc/spec/posix.td
M libc/spec/stdc.td
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/array.h
A libc/src/__support/CPP/iterator.h
M libc/src/__support/CPP/string_view.h
M libc/src/__support/CPP/type_traits.h
A libc/src/__support/CPP/type_traits/is_constant_evaluated.h
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/FPUtil/fpbits_str.h
A libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
M libc/src/__support/File/file.h
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
A libc/src/__support/OSUtil/baremetal/quick_exit.cpp
R libc/src/__support/OSUtil/baremetal/quick_exit.h
M libc/src/__support/OSUtil/darwin/CMakeLists.txt
R libc/src/__support/OSUtil/darwin/quick_exit.h
M libc/src/__support/OSUtil/gpu/CMakeLists.txt
M libc/src/__support/OSUtil/gpu/quick_exit.cpp
R libc/src/__support/OSUtil/gpu/quick_exit.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
A libc/src/__support/OSUtil/linux/quick_exit.cpp
R libc/src/__support/OSUtil/linux/quick_exit.h
M libc/src/__support/OSUtil/quick_exit.h
M libc/src/__support/UInt.h
M libc/src/__support/blockstore.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/macros/config.h
A libc/src/__support/sign.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/math/CMakeLists.txt
A libc/src/math/canonicalize.h
A libc/src/math/canonicalizef.h
A libc/src/math/canonicalizef128.h
A libc/src/math/canonicalizel.h
M libc/src/math/docs/add_math_function.md
A libc/src/math/fmaximum.h
A libc/src/math/fmaximum_mag.h
A libc/src/math/fmaximum_mag_num.h
A libc/src/math/fmaximum_mag_numf.h
A libc/src/math/fmaximum_mag_numf128.h
A libc/src/math/fmaximum_mag_numl.h
A libc/src/math/fmaximum_magf.h
A libc/src/math/fmaximum_magf128.h
A libc/src/math/fmaximum_magl.h
A libc/src/math/fmaximum_num.h
A libc/src/math/fmaximum_numf.h
A libc/src/math/fmaximum_numf128.h
A libc/src/math/fmaximum_numl.h
A libc/src/math/fmaximumf.h
A libc/src/math/fmaximumf128.h
A libc/src/math/fmaximuml.h
A libc/src/math/fminimum.h
A libc/src/math/fminimum_mag.h
A libc/src/math/fminimum_mag_num.h
A libc/src/math/fminimum_mag_numf.h
A libc/src/math/fminimum_mag_numf128.h
A libc/src/math/fminimum_mag_numl.h
A libc/src/math/fminimum_magf.h
A libc/src/math/fminimum_magf128.h
A libc/src/math/fminimum_magl.h
A libc/src/math/fminimum_num.h
A libc/src/math/fminimum_numf.h
A libc/src/math/fminimum_numf128.h
A libc/src/math/fminimum_numl.h
A libc/src/math/fminimumf.h
A libc/src/math/fminimumf128.h
A libc/src/math/fminimuml.h
A libc/src/math/fromfp.h
A libc/src/math/fromfpf.h
A libc/src/math/fromfpf128.h
A libc/src/math/fromfpl.h
A libc/src/math/fromfpx.h
A libc/src/math/fromfpxf.h
A libc/src/math/fromfpxf128.h
A libc/src/math/fromfpxl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/atanhf.cpp
A libc/src/math/generic/canonicalize.cpp
A libc/src/math/generic/canonicalizef.cpp
A libc/src/math/generic/canonicalizef128.cpp
A libc/src/math/generic/canonicalizel.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/expm1.cpp
A libc/src/math/generic/fmaximum.cpp
A libc/src/math/generic/fmaximum_mag.cpp
A libc/src/math/generic/fmaximum_mag_num.cpp
A libc/src/math/generic/fmaximum_mag_numf.cpp
A libc/src/math/generic/fmaximum_mag_numf128.cpp
A libc/src/math/generic/fmaximum_mag_numl.cpp
A libc/src/math/generic/fmaximum_magf.cpp
A libc/src/math/generic/fmaximum_magf128.cpp
A libc/src/math/generic/fmaximum_magl.cpp
A libc/src/math/generic/fmaximum_num.cpp
A libc/src/math/generic/fmaximum_numf.cpp
A libc/src/math/generic/fmaximum_numf128.cpp
A libc/src/math/generic/fmaximum_numl.cpp
A libc/src/math/generic/fmaximumf.cpp
A libc/src/math/generic/fmaximumf128.cpp
A libc/src/math/generic/fmaximuml.cpp
A libc/src/math/generic/fminimum.cpp
A libc/src/math/generic/fminimum_mag.cpp
A libc/src/math/generic/fminimum_mag_num.cpp
A libc/src/math/generic/fminimum_mag_numf.cpp
A libc/src/math/generic/fminimum_mag_numf128.cpp
A libc/src/math/generic/fminimum_mag_numl.cpp
A libc/src/math/generic/fminimum_magf.cpp
A libc/src/math/generic/fminimum_magf128.cpp
A libc/src/math/generic/fminimum_magl.cpp
A libc/src/math/generic/fminimum_num.cpp
A libc/src/math/generic/fminimum_numf.cpp
A libc/src/math/generic/fminimum_numf128.cpp
A libc/src/math/generic/fminimum_numl.cpp
A libc/src/math/generic/fminimumf.cpp
A libc/src/math/generic/fminimumf128.cpp
A libc/src/math/generic/fminimuml.cpp
A libc/src/math/generic/fromfp.cpp
A libc/src/math/generic/fromfpf.cpp
A libc/src/math/generic/fromfpf128.cpp
A libc/src/math/generic/fromfpl.cpp
A libc/src/math/generic/fromfpx.cpp
A libc/src/math/generic/fromfpxf.cpp
A libc/src/math/generic/fromfpxf128.cpp
A libc/src/math/generic/fromfpxl.cpp
M libc/src/math/generic/inv_trigf_utils.cpp
M libc/src/math/generic/inv_trigf_utils.h
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log_range_reduction.h
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/math_utils.h
A libc/src/math/generic/nanf128.cpp
A libc/src/math/generic/nextdown.cpp
A libc/src/math/generic/nextdownf.cpp
A libc/src/math/generic/nextdownf128.cpp
A libc/src/math/generic/nextdownl.cpp
A libc/src/math/generic/nextup.cpp
A libc/src/math/generic/nextupf.cpp
A libc/src/math/generic/nextupf128.cpp
A libc/src/math/generic/nextupl.cpp
M libc/src/math/generic/powf.cpp
A libc/src/math/generic/ufromfp.cpp
A libc/src/math/generic/ufromfpf.cpp
A libc/src/math/generic/ufromfpf128.cpp
A libc/src/math/generic/ufromfpl.cpp
A libc/src/math/generic/ufromfpx.cpp
A libc/src/math/generic/ufromfpxf.cpp
A libc/src/math/generic/ufromfpxf128.cpp
A libc/src/math/generic/ufromfpxl.cpp
A libc/src/math/nanf128.h
A libc/src/math/nextdown.h
A libc/src/math/nextdownf.h
A libc/src/math/nextdownf128.h
A libc/src/math/nextdownl.h
A libc/src/math/nextup.h
A libc/src/math/nextupf.h
A libc/src/math/nextupf128.h
A libc/src/math/nextupl.h
A libc/src/math/ufromfp.h
A libc/src/math/ufromfpf.h
A libc/src/math/ufromfpf128.h
A libc/src/math/ufromfpl.h
A libc/src/math/ufromfpx.h
A libc/src/math/ufromfpxf.h
A libc/src/math/ufromfpxf128.h
A libc/src/math/ufromfpxl.h
M libc/src/stdio/CMakeLists.txt
A libc/src/stdio/baremetal/CMakeLists.txt
A libc/src/stdio/baremetal/remove.cpp
A libc/src/stdio/fileno.h
M libc/src/stdio/generic/CMakeLists.txt
A libc/src/stdio/generic/fileno.cpp
M libc/src/stdio/linux/CMakeLists.txt
A libc/src/stdio/linux/rename.cpp
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/string_converter.h
A libc/src/stdio/rename.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/_Exit.cpp
M libc/src/stdlib/atexit.cpp
M libc/src/stdlib/exit.cpp
A libc/src/stdlib/str_from_util.h
A libc/src/stdlib/strfromd.cpp
A libc/src/stdlib/strfromd.h
A libc/src/stdlib/strfromf.cpp
A libc/src/stdlib/strfromf.h
A libc/src/stdlib/strfroml.cpp
A libc/src/stdlib/strfroml.h
M libc/src/sys/CMakeLists.txt
M libc/src/sys/mman/CMakeLists.txt
M libc/src/sys/mman/linux/CMakeLists.txt
A libc/src/sys/mman/linux/shm_common.h
A libc/src/sys/mman/linux/shm_open.cpp
A libc/src/sys/mman/linux/shm_unlink.cpp
A libc/src/sys/mman/shm_open.h
A libc/src/sys/mman/shm_unlink.h
A libc/src/sys/statvfs/CMakeLists.txt
A libc/src/sys/statvfs/fstatvfs.h
A libc/src/sys/statvfs/linux/CMakeLists.txt
A libc/src/sys/statvfs/linux/fstatvfs.cpp
A libc/src/sys/statvfs/linux/statfs_utils.h
A libc/src/sys/statvfs/linux/statvfs.cpp
A libc/src/sys/statvfs/statvfs.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/CPP/CMakeLists.txt
A libc/test/src/__support/CPP/array_test.cpp
M libc/test/src/__support/CPP/stringview_test.cpp
M libc/test/src/__support/FPUtil/CMakeLists.txt
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/arg_list_test.cpp
M libc/test/src/__support/blockstore_test.cpp
M libc/test/src/__support/uint_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
M libc/test/src/math/exhaustive/atanf_test.cpp
M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/explogxf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/fdim_test.cpp
M libc/test/src/math/fdimf_test.cpp
M libc/test/src/math/fdiml_test.cpp
M libc/test/src/math/ilogb_test.cpp
M libc/test/src/math/ilogbf_test.cpp
M libc/test/src/math/ilogbl_test.cpp
R libc/test/src/math/inv_trigf_utils_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FAbsTest.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FMaxTest.h
A libc/test/src/math/smoke/FMaximumMagNumTest.h
A libc/test/src/math/smoke/FMaximumMagTest.h
A libc/test/src/math/smoke/FMaximumNumTest.h
A libc/test/src/math/smoke/FMaximumTest.h
A libc/test/src/math/smoke/FMinimumMagNumTest.h
A libc/test/src/math/smoke/FMinimumMagTest.h
A libc/test/src/math/smoke/FMinimumNumTest.h
A libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/FmaTest.h
A libc/test/src/math/smoke/FromfpTest.h
A libc/test/src/math/smoke/FromfpxTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/NextAfterTest.h
A libc/test/src/math/smoke/NextDownTest.h
M libc/test/src/math/smoke/NextTowardTest.h
A libc/test/src/math/smoke/NextUpTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/TruncTest.h
A libc/test/src/math/smoke/UfromfpTest.h
A libc/test/src/math/smoke/UfromfpxTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
A libc/test/src/math/smoke/canonicalize_test.cpp
A libc/test/src/math/smoke/canonicalizef128_test.cpp
A libc/test/src/math/smoke/canonicalizef_test.cpp
A libc/test/src/math/smoke/canonicalizel_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_num_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numf_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numl_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_test.cpp
A libc/test/src/math/smoke/fmaximum_magf128_test.cpp
A libc/test/src/math/smoke/fmaximum_magf_test.cpp
A libc/test/src/math/smoke/fmaximum_magl_test.cpp
A libc/test/src/math/smoke/fmaximum_num_test.cpp
A libc/test/src/math/smoke/fmaximum_numf128_test.cpp
A libc/test/src/math/smoke/fmaximum_numf_test.cpp
A libc/test/src/math/smoke/fmaximum_numl_test.cpp
A libc/test/src/math/smoke/fmaximum_test.cpp
A libc/test/src/math/smoke/fmaximumf128_test.cpp
A libc/test/src/math/smoke/fmaximumf_test.cpp
A libc/test/src/math/smoke/fmaximuml_test.cpp
A libc/test/src/math/smoke/fminimum_mag_num_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numf_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numl_test.cpp
A libc/test/src/math/smoke/fminimum_mag_test.cpp
A libc/test/src/math/smoke/fminimum_magf128_test.cpp
A libc/test/src/math/smoke/fminimum_magf_test.cpp
A libc/test/src/math/smoke/fminimum_magl_test.cpp
A libc/test/src/math/smoke/fminimum_num_test.cpp
A libc/test/src/math/smoke/fminimum_numf128_test.cpp
A libc/test/src/math/smoke/fminimum_numf_test.cpp
A libc/test/src/math/smoke/fminimum_numl_test.cpp
A libc/test/src/math/smoke/fminimum_test.cpp
A libc/test/src/math/smoke/fminimumf128_test.cpp
A libc/test/src/math/smoke/fminimumf_test.cpp
A libc/test/src/math/smoke/fminimuml_test.cpp
A libc/test/src/math/smoke/fromfp_test.cpp
A libc/test/src/math/smoke/fromfpf128_test.cpp
A libc/test/src/math/smoke/fromfpf_test.cpp
A libc/test/src/math/smoke/fromfpl_test.cpp
A libc/test/src/math/smoke/fromfpx_test.cpp
A libc/test/src/math/smoke/fromfpxf128_test.cpp
A libc/test/src/math/smoke/fromfpxf_test.cpp
A libc/test/src/math/smoke/fromfpxl_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
A libc/test/src/math/smoke/nanf128_test.cpp
A libc/test/src/math/smoke/nextdown_test.cpp
A libc/test/src/math/smoke/nextdownf128_test.cpp
A libc/test/src/math/smoke/nextdownf_test.cpp
A libc/test/src/math/smoke/nextdownl_test.cpp
A libc/test/src/math/smoke/nextup_test.cpp
A libc/test/src/math/smoke/nextupf128_test.cpp
A libc/test/src/math/smoke/nextupf_test.cpp
A libc/test/src/math/smoke/nextupl_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
A libc/test/src/math/smoke/ufromfp_test.cpp
A libc/test/src/math/smoke/ufromfpf128_test.cpp
A libc/test/src/math/smoke/ufromfpf_test.cpp
A libc/test/src/math/smoke/ufromfpl_test.cpp
A libc/test/src/math/smoke/ufromfpx_test.cpp
A libc/test/src/math/smoke/ufromfpxf128_test.cpp
A libc/test/src/math/smoke/ufromfpxf_test.cpp
A libc/test/src/math/smoke/ufromfpxl_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fileop_test.cpp
A libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/StrfromTest.h
A libc/test/src/stdlib/strfromd_test.cpp
A libc/test/src/stdlib/strfromf_test.cpp
A libc/test/src/stdlib/strfroml_test.cpp
M libc/test/src/sys/CMakeLists.txt
M libc/test/src/sys/mman/linux/CMakeLists.txt
A libc/test/src/sys/mman/linux/shm_test.cpp
A libc/test/src/sys/statvfs/CMakeLists.txt
A libc/test/src/sys/statvfs/linux/CMakeLists.txt
A libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
A libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/utils/FPUtil/x86_long_double_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libclc/CMakeLists.txt
M libclc/check_external_calls.sh
M libclc/cmake/CMakeLLAsmInformation.cmake
M libclc/generic/lib/gen_convert.py
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/fill.bench.cpp
A libcxx/benchmarks/algorithms/mismatch.bench.cpp
M libcxx/docs/Modules.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/copy_backward.h
M libcxx/include/__algorithm/copy_move_common.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/fill_n.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__algorithm/partial_sort.h
M libcxx/include/__algorithm/pop_heap.h
M libcxx/include/__algorithm/push_heap.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_starts_with.h
M libcxx/include/__algorithm/rotate.h
A libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__algorithm/sort_heap.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__algorithm/unwrap_iter.h
M libcxx/include/__algorithm/upper_bound.h
M libcxx/include/__atomic/atomic_base.h
M libcxx/include/__bit/bit_cast.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit_reference
M libcxx/include/__compare/partial_order.h
M libcxx/include/__compare/strong_order.h
M libcxx/include/__compare/weak_order.h
M libcxx/include/__concepts/class_or_enum.h
M libcxx/include/__concepts/swappable.h
M libcxx/include/__config
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__expected/expected.h
M libcxx/include/__format/concepts.h
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/extended_grapheme_cluster_table.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/__functional/bind_front.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/not_fn.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/ranges_iterator_traits.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__mutex/mutex.h
M libcxx/include/__ranges/access.h
M libcxx/include/__ranges/as_rvalue_view.h
M libcxx/include/__ranges/data.h
M libcxx/include/__ranges/empty.h
M libcxx/include/__ranges/iota_view.h
M libcxx/include/__ranges/movable_box.h
M libcxx/include/__ranges/rbegin.h
M libcxx/include/__ranges/rend.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/size.h
M libcxx/include/__ranges/to.h
M libcxx/include/__ranges/view_interface.h
M libcxx/include/__ranges/zip_view.h
M libcxx/include/__split_buffer
M libcxx/include/__string/char_traits.h
M libcxx/include/__system_error/errc.h
M libcxx/include/__tree
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__tuple/tuple_size.h
M libcxx/include/__type_traits/conjunction.h
M libcxx/include/__type_traits/copy_cv.h
M libcxx/include/__type_traits/is_assignable.h
M libcxx/include/__type_traits/is_constructible.h
R libcxx/include/__type_traits/is_copy_assignable.h
R libcxx/include/__type_traits/is_copy_constructible.h
R libcxx/include/__type_traits/is_default_constructible.h
M libcxx/include/__type_traits/is_implicitly_default_constructible.h
R libcxx/include/__type_traits/is_move_assignable.h
R libcxx/include/__type_traits/is_move_constructible.h
M libcxx/include/__type_traits/is_nothrow_assignable.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
R libcxx/include/__type_traits/is_nothrow_copy_assignable.h
R libcxx/include/__type_traits/is_nothrow_copy_constructible.h
R libcxx/include/__type_traits/is_nothrow_default_constructible.h
R libcxx/include/__type_traits/is_nothrow_move_assignable.h
R libcxx/include/__type_traits/is_nothrow_move_constructible.h
M libcxx/include/__type_traits/is_scoped_enum.h
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/__type_traits/is_trivially_assignable.h
M libcxx/include/__type_traits/is_trivially_constructible.h
R libcxx/include/__type_traits/is_trivially_copy_assignable.h
R libcxx/include/__type_traits/is_trivially_copy_constructible.h
R libcxx/include/__type_traits/is_trivially_default_constructible.h
R libcxx/include/__type_traits/is_trivially_move_assignable.h
R libcxx/include/__type_traits/is_trivially_move_constructible.h
M libcxx/include/__type_traits/noexcept_move_assign_container.h
M libcxx/include/__type_traits/remove_reference.h
M libcxx/include/__utility/exception_guard.h
M libcxx/include/__utility/exchange.h
M libcxx/include/__utility/move.h
M libcxx/include/__utility/pair.h
M libcxx/include/__utility/small_buffer.h
M libcxx/include/__utility/swap.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/cerrno
M libcxx/include/chrono
M libcxx/include/complex
M libcxx/include/coroutine
M libcxx/include/cwchar
M libcxx/include/execution
M libcxx/include/experimental/memory
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/libcxx.imp
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/module.modulemap
M libcxx/include/mutex
M libcxx/include/optional
M libcxx/include/string
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/variant
M libcxx/include/vector
M libcxx/modules/CMakeLists.txt
M libcxx/modules/CMakeLists.txt.in
M libcxx/src/CMakeLists.txt
M libcxx/src/random.cpp
M libcxx/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.verify.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx2a.pass.cpp
M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.depr_in_cxx17.verify.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.verify.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.pass.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.verify.cpp
M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.depr_in_cxx17.verify.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.verify.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.verify.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx2a.pass.cpp
A libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx20.pass.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx2a.pass.cpp
R libcxx/test/libcxx/depr/depr.default.allocator/enable_removed_allocator_members.deprecated.verify.cpp
A libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.compile.pass.cpp
A libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.verify.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/equal.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/greater-equal.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/greater.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/less-equal.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/less.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cmp/not-equal.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/assign.LWG3435.verify.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.default.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.iter.explicit.verify.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.iter.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.cons/ctor.reverse_iterator.LWG3435.verify.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.conv/base.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/arrow.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/bracket.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.elem/dereference.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/decrement-assign.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/increment-assign.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/minus.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/plus.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/postdecrement.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/postincrement.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/predecrement.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nav/preincrement.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/reverse.iter.nonmember/minus.pass.cpp
R libcxx/test/libcxx/iterators/predef.iterators/__unconstrained_reverse_iterator/types.compile.pass.cpp
M libcxx/test/libcxx/module_std.gen.py
M libcxx/test/libcxx/module_std_compat.gen.py
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_allocator_void_no_members.verify.cpp
R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_with_removed_members.compile.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
M libcxx/test/std/containers/sequences/deque/types.pass.cpp
M libcxx/test/std/containers/sequences/list/types.pass.cpp
M libcxx/test/std/containers/sequences/vector/types.pass.cpp
A libcxx/test/std/depr.cerro/cerrno.syn.verify.cpp
A libcxx/test/std/depr.cerro/system.error.syn.verify.cpp
M libcxx/test/std/diagnostics/syserr/errc.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp
M libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
A libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.swap/iter_swap.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/ranges/range.access/begin.pass.cpp
M libcxx/test/std/ranges/range.access/end.pass.cpp
M libcxx/test/std/ranges/range.access/rbegin.pass.cpp
M libcxx/test/std/ranges/range.access/rend.pass.cpp
M libcxx/test/std/ranges/range.access/size.pass.cpp
M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
A libcxx/test/std/ranges/robust_against_poison_pills.compile.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp
A libcxx/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_v.verify.cpp
M libcxx/test/std/utilities/variant/variant.get/get_if_index.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_if_type.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_index.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_type.pass.cpp
M libcxx/test/std/utilities/variant/variant.helpers/variant_alternative.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit/visit_return_type.pass.cpp
M libcxx/test/support/variant_test_helpers.h
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/docker-compose.yml
M libcxx/utils/ci/oss-fuzz.sh
M libcxx/utils/ci/run-buildbot-container
M libcxx/utils/generate_escaped_output_table.py
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_width_estimation_table.py
M libcxx/utils/libcxx/test/features.py
M libcxxabi/src/CMakeLists.txt
M libunwind/src/CMakeLists.txt
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/COFF/LTO.cpp
M lld/COFF/Options.td
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/MarkLive.cpp
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/SymbolTable.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/ObjC.cpp
M lld/MachO/ObjC.h
M lld/MachO/Options.td
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Writer.cpp
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/docs/ld.lld.1
A lld/test/COFF/Inputs/lto-sample-profile.prof
M lld/test/COFF/export.test
A lld/test/COFF/lto-sample-profile.ll
M lld/test/ELF/aarch64-gnu-ifunc-nonpreemptable.s
M lld/test/ELF/aarch64-gnu-ifunc.s
M lld/test/ELF/aarch64-tlsdesc-zrel.s
M lld/test/ELF/arm-gnu-ifunc.s
M lld/test/ELF/driver.test
A lld/test/ELF/gc-sections-with-provide.s
M lld/test/ELF/gnu-ifunc-dyntags.s
M lld/test/ELF/gnu-ifunc-i386.s
M lld/test/ELF/incompatible-section-types2.s
M lld/test/ELF/linkerscript/custom-section-type.s
M lld/test/ELF/linkerscript/discard-section.s
M lld/test/ELF/linkerscript/symbolreferenced.s
M lld/test/ELF/lto/Inputs/devirt_validate_vtable_typeinfos_ref.ll
M lld/test/ELF/lto/Inputs/devirt_validate_vtable_typeinfos_undef.ll
M lld/test/ELF/lto/devirt_split_unit_localize.ll
M lld/test/ELF/lto/devirt_validate_vtable_typeinfos_ref.ll
M lld/test/ELF/lto/libcall-archive.ll
M lld/test/ELF/pack-dyn-relocs-arm2.s
M lld/test/ELF/pack-dyn-relocs.s
M lld/test/ELF/ppc32-ifunc-nonpreemptible-pic.s
M lld/test/ELF/riscv-ifunc-nonpreemptible.s
M lld/test/ELF/riscv-tlsdesc-relax.s
M lld/test/ELF/riscv-tlsdesc.s
M lld/test/ELF/systemz-ifunc-nonpreemptible.s
A lld/test/ELF/unknown-section.test
M lld/test/ELF/x86-64-gotpc-relax-too-far.s
A lld/test/MachO/objc-category-merging-complete-test.s
A lld/test/MachO/objc-category-merging-extern-class-minimal.s
M lld/test/MachO/thinlto-split-unit-start-lib.ll
M lld/test/MinGW/driver.test
M lldb/cmake/caches/Apple-lldb-Linux.cmake
M lldb/docs/use/python-reference.rst
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Core/Disassembler.h
M lldb/include/lldb/Core/Progress.h
A lldb/include/lldb/Host/Alarm.h
M lldb/include/lldb/Symbol/LineEntry.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/AddressableBits.h
M lldb/include/lldb/Utility/SupportFile.h
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/lldbpexpect.py
M lldb/packages/Python/lldbsuite/test/test_categories.py
M lldb/packages/Python/lldbsuite/test/test_result.py
M lldb/source/API/SBLineEntry.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/common/Alarm.cpp
M lldb/source/Interpreter/OptionArgParser.cpp
M lldb/source/Interpreter/OptionGroupVariable.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
A lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/LineEntry.cpp
M lldb/source/Symbol/LineTable.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Target/Language.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Target/Thread.cpp
M lldb/source/Target/TraceDumper.cpp
M lldb/source/Utility/AddressableBits.cpp
M lldb/test/API/benchmarks/expression/TestExpressionCmd.py
M lldb/test/API/benchmarks/expression/TestRepeatedExprs.py
M lldb/test/API/benchmarks/frame_variable/TestFrameVariableResponse.py
M lldb/test/API/benchmarks/startup/TestStartupDelays.py
M lldb/test/API/benchmarks/stepping/TestSteppingSpeed.py
M lldb/test/API/benchmarks/turnaround/TestCompileRunToBreakpointTurnaround.py
M lldb/test/API/commands/dwim-print/TestDWIMPrint.py
A lldb/test/API/commands/target/modules/lookup/Makefile
A lldb/test/API/commands/target/modules/lookup/TestImageLookupPCExpression.py
A lldb/test/API/commands/target/modules/lookup/main.c
M lldb/test/API/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
M lldb/test/API/functionalities/target_var/TestTargetVar.py
M lldb/test/API/macosx/indirect_symbol/TestIndirectSymbols.py
A lldb/test/API/macosx/tbi-honored/Makefile
A lldb/test/API/macosx/tbi-honored/TestTBIHonored.py
A lldb/test/API/macosx/tbi-honored/main.c
M lldb/test/API/source-manager/TestSourceManager.py
M lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
R lldb/test/Shell/SymbolFile/target-symbols-add-unwind.test
M lldb/unittests/Core/ProgressReportTest.cpp
A lldb/unittests/Host/AlarmTest.cpp
M lldb/unittests/Host/CMakeLists.txt
M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/DirectX/DXILArchitecture.rst
M llvm/docs/GettingInvolved.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
A llvm/docs/InstCombineContributorGuide.md
M llvm/docs/LangRef.rst
M llvm/docs/PointerAuth.md
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/docs/SPIRVUsage.rst
M llvm/docs/UserGuides.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm-c/Types.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/SCCIterator.h
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/include/llvm/Analysis/InstSimplifyFolder.h
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/MemoryBuiltins.h
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/BinaryFormat/COFF.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/MachineFrameInfo.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/include/llvm/CodeGen/MachineMemOperand.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
A llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
R llvm/include/llvm/DebugInfo/LogicalView/Readers/LVELFReader.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/VTuneSharedStructs.h
A llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
M llvm/include/llvm/IR/Argument.h
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/ConstantFold.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DataLayout.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/DiagnosticHandler.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IRBuilderFolder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/NoFolder.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/MC/DXContainerPSVInfo.h
M llvm/include/llvm/MC/MCInstrAnalysis.h
M llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/include/llvm/MC/StringTableBuilder.h
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/Object/ArchiveWriter.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/Passes/PassBuilder.h
A llvm/include/llvm/Passes/TargetPassRegistry.inc
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/Support/AMDHSAKernelDescriptor.h
M llvm/include/llvm/Support/BalancedPartitioning.h
M llvm/include/llvm/Support/DXILABI.h
A llvm/include/llvm/Support/HexagonAttributeParser.h
A llvm/include/llvm/Support/HexagonAttributes.h
M llvm/include/llvm/Support/LEB128.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/TimeProfiler.h
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetMachine.h
A llvm/include/llvm/Target/TargetMacroFusion.td
M llvm/include/llvm/Target/TargetSchedule.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TextAPI/Record.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InlineOrder.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/PHITransAddr.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/DFAPacketizer.cpp
M llvm/lib/CodeGen/DwarfEHPrepare.cpp
M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
M llvm/lib/CodeGen/FinalizeISel.cpp
M llvm/lib/CodeGen/GCRootLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/HardwareLoops.cpp
M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/IntrinsicLowering.cpp
M llvm/lib/CodeGen/JMCInstrumenter.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MIRVRegNamerUtils.cpp
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/MachineFrameInfo.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineLoopInfo.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineStableHash.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/NonRelocatableStringpool.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/CodeGen/RegisterBankInfo.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/SjLjEHPrepare.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
M llvm/lib/DWARFLinker/Parallel/StringEntryToDwarfStringPoolEntryMap.h
M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
A llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
R llvm/lib/DebugInfo/LogicalView/Readers/LVELFReader.cpp
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
M llvm/lib/ExecutionEngine/JITLink/DefineExternalSectionStartAndEndSymbols.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
M llvm/lib/Frontend/OpenMP/OMPContext.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/ConstantRange.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/ConvergenceVerifier.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/IR/ReplaceConstant.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/DXContainerPSVInfo.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCParser/MCTargetAsmParser.cpp
M llvm/lib/MC/MCRegisterInfo.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/SPIRVObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/ObjCopy/ConfigManager.cpp
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/lib/Object/ArchiveWriter.cpp
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/OffloadBinary.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/RawMemProfReader.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Support/BalancedPartitioning.cpp
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/HexagonAttributeParser.cpp
A llvm/lib/Support/HexagonAttributes.cpp
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Support/TimeProfiler.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedAmpere1.td
M llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
A llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/ARM/ARM.td
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMHazardRecognizer.cpp
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/lib/Target/AVR/AVRInstrInfo.td
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
M llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp
M llvm/lib/Target/BPF/BPFInstrFormats.td
M llvm/lib/Target/BPF/BPFInstrInfo.td
A llvm/lib/Target/BPF/BPFPassRegistry.def
M llvm/lib/Target/BPF/BPFPreserveDIType.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/CMakeLists.txt
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXIL.td
A llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/lib/Target/DirectX/DXILIntrinsicExpansion.h
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/DirectX/DirectX.h
A llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.h
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
A llvm/lib/Target/Hexagon/HexagonPassRegistry.def
M llvm/lib/Target/Hexagon/HexagonStoreWidening.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonTargetStreamer.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/Mips16HardFloat.cpp
M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
A llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.h
M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
A llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVScheduleZb.td
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
A llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
A llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
M llvm/lib/Target/SystemZ/SystemZInstrHFP.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZInstrSystem.td
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZPatterns.td
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/VEInstrInfo.td
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.cpp
M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerRefTypesIntPtrConv.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrAsmAlias.td
M llvm/lib/Target/X86/X86InstrCMovSetCC.td
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFormats.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86SchedBroadwell.td
M llvm/lib/Target/X86/X86SchedHaswell.td
M llvm/lib/Target/X86/X86SchedIceLake.td
M llvm/lib/Target/X86/X86TargetMachine.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
M llvm/lib/TextAPI/TextStub.cpp
M llvm/lib/TextAPI/Utils.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/GlobalSplit.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
Log Message:
-----------
improve comments and tests
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/c6bfc3cd4630...af73a86511d2
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