Commit
9d9a11c7be037cbbfb5239b72dbeb48dd2601bbc
by sam.parker[ARM] Check for LSTP side-effects.
If the LSTP instruction is inserted with an element count low enough to immediately predicate some lanes as false, this can have some unintended effects on any proceeding MVE instructions in the preheader.
Differential Revision: https://reviews.llvm.org/D88209
|
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-two-vcmp.mir |
 | llvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir |
 | llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir |
Commit
2fc690ac904c657dad9159926074ec62edebcd8e
by sjoerd.meijer[ARM] LowoverheadLoops: add an option to disable tail-predication
This might be useful for testing. We already have an option -tail-predication but that controls the MVETailPredication pass. This -arm-loloops-disable-tail-pred is just for disabling it in the LowoverheadLoops pass.
Differential Revision: https://reviews.llvm.org/D88212
|
 | llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp |
 | llvm/lib/Target/ARM/MVETailPredication.cpp |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-disabled-in-loloops.ll |
Commit
a815578c31775f3bca57a6ede65787aa152bafbd
by llvm-dev[AArch64] Regenerate dag-combine-mul-shl.ll checks
|
 | llvm/test/CodeGen/AArch64/dag-combine-mul-shl.ll |
Commit
e39da8ab6a286ac777d5fe7799f1eb782cf99938
by Yaxun.LiuRecommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions"
This recommits 7f1f89ec8d9944559042bb6d3b1132eabe3409de and 40df06cdafc010002fc9cfe1dda73d689b7d27a6 after fixing memory sanitizer failure.
|
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/include/clang/Basic/DiagnosticAnalysis.h |
 | clang/lib/Sema/SemaSYCL.cpp |
 | clang/include/clang/Basic/DiagnosticSema.h |
 | clang/test/SemaCUDA/deferred-oeverload.cu |
 | clang/lib/Basic/DiagnosticIDs.cpp |
 | clang/lib/Driver/ToolChains/HIP.cpp |
 | clang/lib/Sema/SemaCUDA.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/test/TableGen/deferred-diag.td |
 | clang/include/clang/Basic/DiagnosticSerialization.h |
 | clang/lib/Sema/SemaStmtAsm.cpp |
 | clang/include/clang/Basic/DiagnosticAST.h |
 | clang/include/clang/Basic/DiagnosticCrossTU.h |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/include/clang/Basic/Diagnostic.td |
 | clang/lib/Sema/SemaAttr.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/utils/TableGen/ClangDiagnosticsEmitter.cpp |
 | clang-tools-extra/clangd/Diagnostics.cpp |
 | clang/lib/Sema/SemaTemplateInstantiate.cpp |
 | clang/include/clang/Basic/DiagnosticRefactoring.h |
 | clang/lib/Sema/SemaType.cpp |
 | clang/lib/Sema/AnalysisBasedWarnings.cpp |
 | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp |
 | clang/lib/Sema/Sema.cpp |
 | clang/include/clang/Basic/DiagnosticLex.h |
 | clang/lib/Sema/SemaStmt.cpp |
 | clang/lib/Sema/SemaTemplateVariadic.cpp |
 | clang/test/TableGen/DiagnosticBase.inc |
 | clang/tools/diagtool/DiagnosticNames.cpp |
 | clang/include/clang/Basic/DiagnosticDriver.h |
 | clang/lib/Driver/ToolChains/Cuda.cpp |
 | clang/include/clang/Basic/DiagnosticIDs.h |
 | clang/lib/Sema/SemaOverload.cpp |
 | clang/include/clang/Basic/DiagnosticParse.h |
 | clang/include/clang/Driver/Options.td |
 | clang/include/clang/Basic/DiagnosticFrontend.h |
 | clang/lib/Sema/SemaExprObjC.cpp |
 | clang/include/clang/Basic/DiagnosticComment.h |
 | clang/include/clang/Basic/LangOptions.def |
 | clang/lib/Sema/SemaDecl.cpp |
Commit
4b64ce7428b66cacfe74dbd9dbc29aff6dfb84af
by alexandre.ganeaImprove 723fea23079f9c85800e5cdc90a75414af182bfd - Silence 'warning: unused variable' when compiling with Clang 10.0
|
 | llvm/lib/CodeGen/PeepholeOptimizer.cpp |
Commit
a6a6ccfc4c8b348d6d534657e16bb7504b9f2888
by alexandre.ganeaFix f5314d15af4f4514103ea12c74cb208538b8bef5 - [Support] On Unix, let the CrashRecoveryContext return the signal code
This was causing bots to fail: http://green.lab.llvm.org/green/job/clang-stage1-RA/14828/consoleFull#6384962949ba4694-19c4-4d7e-bec5-911270d8a58c
|
 | llvm/unittests/Support/CrashRecoveryTest.cpp |
Commit
ff00b58392527419ea32d0b97575ef973c1bd085
by uday[MLIR] Normalize memrefs in LoadOp and StoreOp of Standard Ops
Added a trait, `MemRefsNormalizable` in LoadOp and StoreOp of Standard Ops to normalize input memrefs in LoadOp and StoreOp.
Related revision: https://reviews.llvm.org/D86236
Differential Revision: https://reviews.llvm.org/D88156
|
 | mlir/include/mlir/Dialect/StandardOps/IR/Ops.td |
 | mlir/test/Transforms/normalize-memrefs-ops.mlir |
Commit
303e8cdacb106c4e1ba07d47ab60d71c03a2552c
by luismarques[NFC][RISCV][builtins] Remove some hard-coded values from i-cache clear routine
Remove some hard-coded values from i-cache clear routine
Differential Revision: https://reviews.llvm.org/D87578
|
 | compiler-rt/lib/builtins/clear_cache.c |
Commit
0389eff4047a74bb1ba6c0603c9002b5c73b203e
by thakislld: Try to fix check-lld on incremental builds after 8f2c31f22b974da
|
 | lld/test/MachO/link-search-order.s |
Commit
8e712807e4848ea4687cb5d27dca99237f4ebaa7
by spatel[InstCombine] regenerate test checks; NFC
|
 | llvm/test/Transforms/InstCombine/AMDGPU/ldexp.ll |
Commit
9cf647bb3f88434e3ecba8e108d56fa4e3ed56f9
by spatel[PhaseOrdering] move an 'opt' test from x86 codegen; NFC
This file comes from 2007, and I'm not entirely sure of the motivation, but it was going through all of opt and llc. The llc part is almost certainly unnecessary as shown in the now auto-generated FileCheck lines.
This test may be affected by a logic change suggested in: D87835
|
 | llvm/test/CodeGen/X86/nancvt.ll |
 | llvm/test/Transforms/PhaseOrdering/nancvt.ll |
Commit
2625433e77ef5e161536f6fd01ea68840cfcb0dc
by spatel[PhaseOrdering] move test with target requirement to x86 dir
I'm not sure if the target is actually necessary, but since it was specified, I'm moving to the appropriate dir to avoid bot fallout.
|
 | llvm/test/Transforms/PhaseOrdering/nancvt.ll |
 | llvm/test/Transforms/PhaseOrdering/X86/nancvt.ll |
Commit
8f72717ebe27209a11be80629c667332cd5e4e60
by georgemitenk0v[MLIR][SPIRV] Fixed dialect loading in deserialization
Fixed an error when deserializing the SPIR-V binary to MLIR SPIR-V. Before, the SPIR-V dialect was not loaded explicitly into the context, which resulted in unregistered operation error.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D88223
|
 | mlir/lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp |
Commit
d65a7003c435de22b8e30dca292160fea822d887
by Matthew.ArsenaultOpaquePtr: Add helpers for sret to mirror byval
Sret should really have a type parameter like byval does.
|
 | llvm/include/llvm/IR/Function.h |
 | llvm/lib/IR/Value.cpp |
 | llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp |
 | llvm/test/CodeGen/X86/vectorcall.ll |
 | llvm/include/llvm/IR/Argument.h |
 | llvm/lib/Analysis/Lint.cpp |
 | llvm/lib/IR/Function.cpp |
Commit
dc08185ca797a3bcd7721a0d55db876a6cc4de10
by Matthew.ArsenaultIR: Have byref imply dereferenceable
The langref already states it does, but this wasn't implemented. Also covers inalloca and preallocated. Also helps fix a dependence on pointer element types.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll |
 | llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll |
 | llvm/test/Transforms/Attributor/readattrs.ll |
 | llvm/lib/IR/Value.cpp |
 | llvm/test/Transforms/Attributor/value-simplify.ll |
Commit
6f7cd16d297155332ff2b4c7efb01ca592eb7753
by sebastian.neubauer[AMDGPU] Fix v3f16 handling for getresinfo
v3f32 should not be expanded to v4f32. getresinfo with a dmask of 7 created an image sample with a v3f32 return value, which was bitcasted to a v4f32 in constructRetValue.
Differential Revision: https://reviews.llvm.org/D88206
|
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll |
Commit
c05cf1ca3c55362c5a8ef8a148c3b763cc8784e9
by jay.foad[AMDGPU] Use cast instead of dyn_cast
|
 | llvm/lib/Target/AMDGPU/R600ISelLowering.cpp |
Commit
d9beff04a30877c117e15c7fbc4d4e5c87e413ab
by vpykhtin[RegisterCoalescer] Fix IMPLICIT_DEF init removal for a register on joining
This patch removes redundant IMPLICIT_DEF for subregs which was leading to incorrect register initialization on joining in some cases.
Reviewed by: qcolombet
Differential revision: https://reviews.llvm.org/D82258
|
 | llvm/test/CodeGen/AMDGPU/coalescing_makes_lanes_undef.mir |
 | llvm/lib/CodeGen/RegisterCoalescer.cpp |
Commit
00ee52ae0467f0bfa588d9797053a42c615d2332
by sam.parker[NFC][ARM] Remove dead loop.
Remove a loop that just calculated a couple of values that were now longer needed.
|
 | llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp |
Commit
ea34d95e0ad664fa879bb1d8b71f32928b1d6c0f
by jonathan.l.peyton[OpenMP] Introduce GOMP teams support in runtime
Implement GOMP_teams_reg() function which enables GOMP support of the standalone teams construct. The GOMP_parallel* functions were modified to call __kmp_fork_call() unconditionally so that the teams-specific code could be reused within __kmp_fork_call() instead of reproduced inside the GOMP_* functions.
Differential Revision: https://reviews.llvm.org/D87167
|
 | openmp/runtime/src/kmp_gsupport.cpp |
 | openmp/runtime/src/kmp_ftn_os.h |
 | openmp/runtime/src/kmp_runtime.cpp |
 | openmp/runtime/test/teams/teams.c |
Commit
72ada5ae6c5bcc53045eba559666a65a68149e4c
by jonathan.l.peyton[OpenMP] Introduce GOMP mutexinoutset in the runtime
Encapsulate GOMP task dependencies in separate class and introduce the new mutexinoutset dependency type. This separate class allows future GOMP task APIs easier access to the task dependency functionality and better ability to propagate new dependency types to all existing GOMP task APIs which use task dependencies.
Differential Revision: https://reviews.llvm.org/D87267
|
 | openmp/runtime/src/i18n/en_US.txt |
 | openmp/runtime/test/tasking/omp50_task_depend_mtx3.c |
 | openmp/runtime/src/kmp_gsupport.cpp |
Commit
9089b4a5c5b4271e6b8300cf5d7471d4ddd93bec
by jonathan.l.peyton[OpenMP] Introduce GOMP taskwait depend in the runtime
This change introduces the GOMP_taskwait_depend() function. It implements the OpenMP 5.0 feature of #pragma omp taskwait with depend() clause by wrapping around __kmpc_omp_wait_deps().
Differential Revision: https://reviews.llvm.org/D87269
|
 | openmp/runtime/test/tasking/omp50_taskwait_depend.c |
 | openmp/runtime/src/kmp_gsupport.cpp |
 | openmp/runtime/src/kmp_ftn_os.h |
Commit
ee1c04a926904b34525e4577742d8c10a23db814
by jonathan.l.peyton[OpenMP] Fix if0 task with dependencies in the runtime
The current GOMP interface for serialized tasks does not take into account task dependencies. Add the check and wait for dependencies.
Fixes: https://bugs.llvm.org/show_bug.cgi?id=46573
Differential Revision: https://reviews.llvm.org/D87271
|
 | openmp/runtime/src/kmp_gsupport.cpp |
 | openmp/runtime/test/tasking/taskdep_if0.c |
 | openmp/runtime/test/tasking/taskdep_if0_2.c |
Commit
283036394ee606401ebb6601bb97b500e11a2830
by llvm-dev[X86][SSE] combineVectorTruncation - enable (pre-SSSE3) vXi16->vXi8 truncation.
Shuffle combining can now handle this output, and by performing this early in combineVectorTruncation we avoid a scalarization that caused a regression on D87502.
|
 | llvm/test/CodeGen/X86/vector-reduce-or-bool.ll |
 | llvm/test/CodeGen/X86/vector-reduce-xor-bool.ll |
 | llvm/test/CodeGen/X86/vector-trunc.ll |
 | llvm/test/CodeGen/X86/vector-reduce-and-bool.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/masked_store_trunc.ll |
 | llvm/test/CodeGen/X86/vector-trunc-math.ll |
Commit
31a3c5fb45b78bdaa78d94ffcc9258e839002016
by froydnj[clang] use string tables for static diagnostic descriptions
Using a pointer for the description string in StaticDiagInfoRec causes several problems:
1. We don't need to use a whole pointer to represent the string; 2. The use of pointers incurs runtime relocations for those pointers; the relocations take up space on disk and represent runtime overhead; 3. The need to relocate data implies that, on some platforms, the entire array containing StaticDiagInfoRecs cannot be shared between processes.
This patch changes the storage scheme for the diagnostic descriptions to avoid these problems. We instead generate (effectively) one large string and then StaticDiagInfoRec conceptually holds offsets into the string. We elected to also move the storage of those offsets into a separate array to further reduce the space required.
On x86-64 Linux, this change removes about 120KB of relocations and moves about 60KB from the non-shareable .data.rel.ro section to shareable .rodata. (The array is about 80KB before this, but we eliminated 4 bytes/entry by using offsets rather than pointers.) We actually reap this benefit twice, because these tables show up in both libclang.so and libclang-cpp.so and we get the reduction in both places.
Differential Revision: https://reviews.llvm.org/D81865
|
 | clang/lib/Basic/DiagnosticIDs.cpp |