Commit
2cd7b0e1305a71f4f9d89f25b140da641f2693f4
by llvm-dev[ValueTracking] canCreateUndefOrPoison - use APInt to check bounds instead of getZExtValue().
Fixes OSS Fuzz #26135
|
 | llvm/lib/Analysis/ValueTracking.cpp |
 | llvm/test/Transforms/InstCombine/shift.ll |
Commit
ff86acbb79c49128a93f074e44d4c75b68a2b88b
by david.green[LV] Regenerate test. NFC
This just reruns the update script to add the new [[LOOP0:!llvm.loop !.*]] checks to remove them from other diffs.
|
 | llvm/test/Transforms/LoopVectorize/if-pred-stores.ll |
 | llvm/test/Transforms/LoopVectorize/X86/pr35432.ll |
 | llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll |
 | llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll |
Commit
1425c72236766ad9107d86cb645ee8c6a3ee0eb1
by hokein.wu[clangd] Add isKeyword function.
This will be used in rename for doing basic name validation.
Differential Revision: https://reviews.llvm.org/D88810
|
 | clang-tools-extra/clangd/SourceCode.h |
 | clang-tools-extra/clangd/SourceCode.cpp |
 | clang-tools-extra/clangd/unittests/SourceCodeTests.cpp |
Commit
7a932f4f4ccbc0c4294c6911d404f74529f3259b
by llvm-dev[Parser] ParseMicrosoftAsmStatement - Replace bit '|' operator with logical '||' operator. (PR47071)
Fixes static analysis warning.
|
 | clang/lib/Parse/ParseStmtAsm.cpp |
Commit
348d85a6c7950a5f14ee6c8741380b5876d99afd
by flo[VPlan] Clean up uses/operands on VPBB deletion.
Update the code responsible for deleting VPBBs and recipes to properly update users and release operands.
This is another preparation for D84680 & following patches towards enabling modeling def-use chains in VPlan.
|
 | llvm/lib/Transforms/Vectorize/VPlanValue.h |
 | llvm/unittests/Transforms/Vectorize/VPlanTest.cpp |
 | llvm/lib/Transforms/Vectorize/VPlan.h |
 | llvm/lib/Transforms/Vectorize/VPlan.cpp |
 | llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp |
 | llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp |
Commit
346b9d17720a0ccd920cd02b81811a4d2ddc67d6
by nicolas.vasilache[mlir][Linalg] Canonicalize TensorCastOp away when it feeds a LinalgOp.
This canonicalization is the counterpart of MemRefCastOp -> LinalgOp but on tensors.
This is needed to properly canonicalize post linalg tiling on tensors.
Differential Revision: https://reviews.llvm.org/D88729
|
 | mlir/include/mlir/Dialect/StandardOps/IR/Ops.td |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td |
 | mlir/include/mlir/Dialect/StandardOps/IR/Ops.h |
 | mlir/test/Dialect/Linalg/canonicalize.mlir |
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/lib/Dialect/StandardOps/IR/Ops.cpp |
Commit
2573cf3c3d42c943cb91b6e85b803f7671260185
by samuel.tebbs[ARM]Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV
This folds a select_cc or select(set_cc) of a max or min vector reduction with a scalar value into a VMAXV or VMINV.
Differential Revision: https://reviews.llvm.org/D87836
|
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | llvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.h |
Commit
34b61d6cd58aea88d44fef9fa4f409f2e324a4d4
by paulsson[SystemZ] Add support for .insn directives for vector instructions.
Support VRI, VRR, VRS, VRV, VRX, VSI instruction formats with the .insn directive.
Review: Ulrich Weigand Differential Revision: https://reviews.llvm.org/D88357
|
 | llvm/test/MC/SystemZ/directive-insn-vector.s |
 | llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp |
 | llvm/lib/Target/SystemZ/SystemZInstrFormats.td |
 | llvm/lib/Target/SystemZ/SystemZInstrInfo.td |
Commit
34b34e90fc3299debfda4add0e277f59b0a699da
by protze[OpenMP][Tests] NFC: fix flaky test failure caused by rare scheduling
The worker thread can start execution of the task before creation of the second task Fixes the spurious failure reported in https://reviews.llvm.org/D61657
|
 | openmp/runtime/test/ompt/tasks/task_memory.c |
Commit
eaf73293cb6b8d45dd85ffced57aea7ad4177754
by jhuber6[OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload
Summary: This patch adds an error to Clang that detects if OpenMP offloading is used between two architectures with incompatible pointer sizes. This ensures that the data mapping can be done correctly and solves an issue in code generation generating the wrong size pointer. This patch adds a new lit substitution, %omp_powerpc_triple that, if the system is 32-bit or 64-bit, sets the powerpc triple accordingly. This was required to fix some OpenMP tests that automatically populated the target architecture.
Reviewers: jdoerfert
Subscribers: cfe-commits guansong sstefan1 yaxunl delcypher
Tags: OpenMP clang LLVM
Differential Revision: https://reviews.llvm.org/D88594
|
 | clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp |
 | clang/test/OpenMP/target_incompatible_architecture_messages.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp |
 | clang/include/clang/Basic/DiagnosticDriverKinds.td |
 | llvm/utils/lit/lit/llvm/config.py |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp |
Commit
89e8a8b223b2e20bb63e930ddb78cb80a3ed45a2
by aktoonRevert SVML support for sqrt
As was brought up in D87169 by @craig.topper we shouldn't map llvm.sqrt to svml since there is a faster native instruction. https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sqrt_p&expand=5824,5823,5356,5823,5825,5365,5356
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D88620
|
 | llvm/test/Transforms/LoopVectorize/X86/svml-calls.ll |
 | llvm/include/llvm/Analysis/VecFuncs.def |
Commit
c3f12dd6069ebfc913953a4a29e9db5dd4749160
by llvm-project[docs] Revise loop terminology reference.
Motivated by D88183, this seeks to clarify the current loop nomenclature with added illustrations, examples for possibly unexpected situations (infinite loops not part of the "parent" loop, logical loops sharing the same header, ...), and clarification on what other sources may consider a loop. The current document also has multiple errors that are fixed here.
Some selected errors: * Loops a defined as strongly-connected components. A component a partition of all nodes, i.e. a subloop can never be a component. That is, the document as it currently is only covers top-level loops, even it also uses the term SCC for subloops. * "a block can be the header of two separate loops at the same time" (it is considered a single loop by LoopInfo) * "execute before some interesting event happens" (some interesting event is not well-defined)
Reviewed By: baziotis, Whitney
Differential Revision: https://reviews.llvm.org/D88408
|
 | llvm/docs/loop-nested.svg |
 | llvm/docs/LangRef.rst |
 | llvm/docs/loop-merge.svg |
 | llvm/docs/loop-separate.svg |
 | llvm/docs/LoopTerminology.rst |
 | llvm/docs/loop-nonmaximal.svg |
 | llvm/docs/loop-terminology.svg |
 | llvm/docs/loop-guard.svg |
 | llvm/docs/loop-single.svg |
 | llvm/docs/loop-irreducible.svg |
Commit
665371d0b29910d7fba618a707d6b732e2037ee2
by csigg[mlir] Split alloc-like op LLVM lowerings into base and separate derived classes.
The previous code did the lowering to alloca, malloc, and aligned_malloc in a single class with different code paths that are somewhat difficult to follow.
This change moves the common code to a base class and has a separte derived class per lowering target that contains the specifics.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D88696
|
 | mlir/test/Conversion/StandardToLLVM/convert-static-memref-ops.mlir |
 | mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp |
 | mlir/test/Conversion/StandardToLLVM/convert-dynamic-memref-ops.mlir |
 | mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h |
Commit
d5a6da84a3462d41be003f4e5d4d1d2e0364ce9d
by Louis Dionne[libc++/abi] Revert "[libc++] Move the weak symbols list to libc++abi"
This reverts commit c7d4aa711a. I am still investigating the issue, but it looks like that commit has an interaction with ld64 that causes new/delete weak re-exports not to work properly anymore. This is weird because this commit did not touch the exports of new/delete -- I am still investigating.
|
 | libcxx/src/CMakeLists.txt |
 | libcxx/lib/weak.exp |
 | libcxxabi/lib/weak.exp |
 | libcxxabi/src/CMakeLists.txt |
Commit
0ac210e5801ac8f80305613aac3f9a89ba0cc83d
by llvm-dev[X86] isTargetShuffleEquivalent - merge duplicate array accesses. NFCI.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
2efd9fd699ed59df2927074f318edac99533e402
by llvm-dev[InstCombine] Add or(shl(v,and(x,bw-1)),lshr(v,bw-and(x,bw-1))) funnel shift tests
If we know the shift amount is less than the bitwidth we should be able to convert this to a funnel shift
|
 | llvm/test/Transforms/InstCombine/funnel.ll |
Commit
5ba084c42fdc80a51fc49c27f5f3ecf153953114
by llvm-dev[InstCombine] Extend 'shift with constants' vector tests
Added missing test coverage for shl(add(and(lshr(x,c1),c2),y),c1) -> add(and(x,c2<<c1),shl(y,c1)) combine
Rename tests as 'foo' and 'bar' isn't very extensible
Added vector tests with undefs and nonuniform constants
|
 | llvm/test/Transforms/InstCombine/pr19420.ll |
Commit
9642ded8ba64590aca2720e4c124368d8e98cc8d
by mcinally[SVE] Lower fixed length VECREDUCE_AND operation
Differential Revision: https://reviews.llvm.org/D88707
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/test/CodeGen/AArch64/sve-fixed-length-log-reduce.ll |
Commit
1dce692de1896412693f25a3afb4818883a611e7
by jhuber6Revert "[OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload"
Reverting because detecting architecture size doesn't work on all platforms.
This reverts commit eaf73293cb6b8d45dd85ffced57aea7ad4177754.
|
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp |
 | clang/test/OpenMP/target_incompatible_architecture_messages.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp |
 | llvm/utils/lit/lit/llvm/config.py |
 | clang/include/clang/Basic/DiagnosticDriverKinds.td |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp |
Commit
8d51d37e0628bde3eb5a3200507ba7135dfc2751
by andrzej.warzynski[flang] Introduce DiagnosticConsumer classes in libflangFrontend
Currently Flang uses TextDiagnostic, TextDiagnosticPrinter & TestDiagnosticBuffer classes from Clang (more specifically, from libclangFrontend). This patch introduces simplified equivalents of these classes in Flang (i.e. it removes the dependency on libclangFrontend).
Flang only needs these diagnostics classes for the compiler driver diagnostics. This is unlike in Clang in which similar diagnostic classes are used for e.g. Lexing/Parsing/Sema diagnostics. For this reason, the implementations introduced here are relatively basic. We can extend them in the future if this is required.
This patch also enhances how the diagnostics are printed. In particular, this is the diagnostic that you'd get _before_ the changes introduced here (no text formatting):
``` $ bin/flang-new error: no input files ```
This is the diagnostic that you get _after_ the changes introduced here (in terminals that support it, the text is formatted - bold + red):
``` $ bin/flang-new flang-new: error: no input files ```
Tests are updated accordingly and options related to enabling/disabling color diagnostics are flagged as supported by Flang.
Reviewed By: sameeranjoshi, CarolineConcatto
Differential Revision: https://reviews.llvm.org/D87774
|
 | flang/lib/Frontend/CompilerInvocation.cpp |
 | flang/tools/flang-driver/fc1_main.cpp |
 | flang/lib/Frontend/TextDiagnosticPrinter.cpp |
 | flang/test/Flang-Driver/driver-help.f90 |
 | flang/lib/Frontend/TextDiagnosticBuffer.cpp |
 | flang/lib/Frontend/CMakeLists.txt |
 | flang/include/flang/Frontend/TextDiagnosticBuffer.h |
 | flang/test/Flang-Driver/driver-version.f90 |
 | flang/include/flang/Frontend/CompilerInvocation.h |
 | flang/include/flang/Frontend/TextDiagnosticPrinter.h |
 | flang/lib/Frontend/TextDiagnostic.cpp |
 | flang/unittests/Frontend/CompilerInstanceTest.cpp |
 | flang/lib/Frontend/CompilerInstance.cpp |
 | flang/tools/flang-driver/driver.cpp |
 | flang/include/flang/Frontend/TextDiagnostic.h |
 | flang/test/Flang-Driver/driver-error-cc1.cpp |
 | flang/test/Flang-Driver/driver-error-cc1.c |
 | clang/include/clang/Driver/Options.td |
 | flang/test/Flang-Driver/missing-input.f90 |
Commit
afd729edee4ca0dc63771448926ab5d346161511
by joker.ephAdd definition for static constexpr member (NFC)
Fix the build for some toolchain and config.
|
 | mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp |
Commit
6bcaf6ff69e978cb7ecf10a16f9ba75e14ba19c2
by benny.kra[mlir][Linalg] Remove unused variable. NFCI.
|
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td |
Commit
9d630297700b94cc9c0118c65115c496c782302b
by nikita.ppvRevert "[DebugInfo] Improve dbg preservation in LSR."
This reverts commit a3caf7f6102dc863425f9714b099af58397f0cd2.
The ReleaseLTO-g test-suite configuration has been failing to build since this commit, because clang segfaults while building 7zip.
|
 | llvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll |
 | llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp |
 | llvm/include/llvm/Analysis/ScalarEvolution.h |
 | llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll |
Commit
4ce61144cb49b48817f0215820173005c8d7d816
by llvm-dev[InstCombine] canEvaluateShifted - remove dead (and never used code). NFC.
This was already #if'd out when it was added back in 2010 at rG18d7fc8fc6767 and has never been touched since.
|
 | llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp |
Commit
b326d4ff946d2061a566a3fcce9f33b484759fe0
by qiucofan[SelectionDAG] Don't remove unused negated constant immediately
This reverts partial of a2fb5446 (actually, 2508ef01) about removing negated FP constant immediately if it has no uses. However, as discussed in bug 47517, there're cases when NegX is folded into constant from other places while NegY is removed by that line of code and NegX is equal to NegY. In these cases, NegX is deleted before used and crash happens. So revert the code and add necessary test case.
|
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/test/CodeGen/X86/pr47517.ll |
Commit
32c8435ef70031d7bd3dce48e41bdce65747e123
by alexshap[llvm-objcopy][MachO] Add support for universal binaries
This diff adds support for universal binaries to llvm-objcopy.
Test plan: make check-all
Differential revision: https://reviews.llvm.org/D88400
|
 | llvm/include/llvm/Object/MachOUniversalWriter.h |
 | llvm/tools/llvm-objcopy/llvm-objcopy.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/universal-object.test |
 | llvm/tools/llvm-objcopy/llvm-objcopy.h |
 | llvm/test/tools/llvm-objcopy/MachO/strip-all.test |
 | llvm/tools/llvm-objcopy/MachO/MachOObjcopy.h |
 | llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp |
 | llvm/lib/Object/MachOUniversalWriter.cpp |
Commit
c9f5cdd4531e2836f47ceb28b80fd7f418645d96
by Amara EmersonRevert "[ARM]Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV"
This reverts commit 2573cf3c3d42c943cb91b6e85b803f7671260185.
These seem to break some lit tests.
|
 | llvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll |
 | llvm/lib/Target/ARM/ARMISelLowering.h |
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
Commit
8fb4645321765124aa89c8e798a989eae38739ce
by llvm-dev[InstCombine] FoldShiftByConstant - use m_Specific. NFCI.
Use m_Specific instead of m_Value followed by an equality check - we already do this for the similar folds above, it looks like an oversight in rG2b459fe7e1e where the original pattern match code looked a little different.
|
 | llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp |
Commit
c2bce848ecae0e17883e7cc4b8054c1e12ef1f98
by Amara Emerson[GlobalISel] Fix CSEMIRBuilder silently allowing use-before-def.
If a CSEMIRBuilder query hits the instruction at the current insert point, move insert point ahead one so that subsequent uses of the builder don't end up with uses before defs.
This fix also shows that AMDGPU was also affected by this bug often, but got away with it because it was using a G_IMPLICIT_DEF before the use.
Differential Revision: https://reviews.llvm.org/D88605
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir |
 | llvm/unittests/CodeGen/GlobalISel/CSETest.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir |
 | llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp |
Commit
6e25586990b93e2c9eaaa4f473b6720ccd646c46
by alexshap[llvm-objcopy][MachO] Add missing std::move.
This change fixes the build issue introduced by 32c8435ef7 (detected by the buildbot fuchsia-x86_64-linux).
Test plan: make check-all
|
 | llvm/tools/llvm-objcopy/llvm-objcopy.cpp |