Commit
d85b845cb2550216b2a05c5dee451f423a4e4946
by mtrofin[NFC][MC] Type uses of MCRegUnitIterator as MCRegister
This is one of many subsequent similar changes. Note that we're ok with the parameter being typed as MCPhysReg, as MCPhysReg -> MCRegister is a correct conversion; Register -> MCRegister assumes the former is indeed physical, so we stop relying on the implicit conversion and use the explicit, value-asserting asMCReg().
Differential Revision: https://reviews.llvm.org/D88862
|
 | llvm/include/llvm/CodeGen/LiveIntervals.h |
 | llvm/lib/CodeGen/BreakFalseDeps.cpp |
 | llvm/include/llvm/CodeGen/TargetRegisterInfo.h |
 | llvm/lib/CodeGen/EarlyIfConversion.cpp |
Commit
00d3e6c1b4d0b7879afc6002b721111b49ecf755
by richard[c++17] Implement P0145R3 during constant evaluation.
Ensure that we evaluate assignment and compound-assignment right-to-left, and array subscripting left-to-right.
Fixes PR47724.
This is a re-commit of ded79be, reverted in 37c74df, with a fix and test for the crasher bug previously introduced.
|
 | clang/www/cxx_status.html |
 | clang/lib/AST/ExprConstant.cpp |
 | clang/test/SemaCXX/constant-expression-cxx1z.cpp |
Commit
370b7887e5af413e06cb0bdb23f502ca7a56280d
by Louis Dionne[libc++] Add a script to setup CI on macOS nodes
|
 | libcxx/utils/ci/macos-ci-setup |
Commit
d3d790fc9827301a49c7bbab3c1eb22da48085c6
by alexandre.ganeaRevert [lit] Support running tests on Windows without GnuWin32
This reverts b3418cb4eb1456c41606f4621dcfa362fe54183c and d12ae042e17b27ebc8d2b5ae3d8dd5f88384d093
This breaks some external bots, see discussion in https://reviews.llvm.org/D84380
In the meanwhile, please use `cmake -DLLVM_LIT_TOOLS_DIR="C:/Program Files/Git/usr/bin"` or add it to %PATH%.
|
 | llvm/utils/lit/lit/llvm/config.py |
Commit
5a305f81bfc3cb71f1f77f15d08dd62b32865e8a
by joker.ephRemove unneeded "allow-unregistered-dialect" from shape-type-conversion.mlir test (NFC)
|
 | mlir/test/Dialect/Shape/shape-type-conversion.mlir |
Commit
c6c67f643dcff142b26a53059e63e5369e6d8d89
by ajcbik[mlir] [sparse] convenience runtime support to read Matrix Market format
Setting up input data for benchmarks and integration tests can be tedious in pure MLIR. With more sparse tensor work planned, this convenience library simplifies reading sparse matrices in the popular Matrix Market Exchange Format (see https://math.nist.gov/MatrixMarket). Note that this library is *not* part of core MLIR. It is merely intended as a convenience library for benchmarking and integration testing.
Reviewed By: penpornk
Differential Revision: https://reviews.llvm.org/D88856
|
 | mlir/lib/ExecutionEngine/SparseUtils.cpp |
 | mlir/integration_test/Sparse/CPU/matrix-market-example.mlir |
 | mlir/integration_test/Sparse/CPU/lit.local.cfg |
 | mlir/integration_test/data/test.mtx |
 | mlir/integration_test/CMakeLists.txt |
 | mlir/lib/ExecutionEngine/CMakeLists.txt |
Commit
9eff07a746a9e6a9b105c12b5e28073360fa8065
by Louis Dionne[libc++] Add assert to check bounds in `constexpr string_view::operator[]`
Differential Revision: https://reviews.llvm.org/D88864
|
 | libcxx/include/string_view |
Commit
4540d6624838af2b190dfb33802528eb4bfb3fb8
by phosek[CMake] Track TSan's dependency on C++ headers
TSan relies on C++ headers, so when libc++ is being built as part of the runtimes build, include an explicit dependency on cxx-headers which is the same approach that's already used for other sanitizers.
Differential Revision: https://reviews.llvm.org/D88912
|
 | compiler-rt/cmake/Modules/AddCompilerRT.cmake |
 | compiler-rt/lib/tsan/CMakeLists.txt |
Commit
4d1d8ae7100ec3c7e1709addb7b3ec6f9ad0b44f
by jianzhouzhReplace shadow space zero-out by madvise at mmap
After D88686, munmap uses MADV_DONTNEED to ensure zero-out before the next access. Because the entire shadow space is created by MAP_PRIVATE and MAP_ANONYMOUS, the first access is also on zero-filled values.
So it is fine to not zero-out data, but use madvise(MADV_DONTNEED) at mmap. This reduces runtime overhead.
Reviewed-by: morehouse
Differential Revision: https://reviews.llvm.org/D88755
|
 | compiler-rt/test/dfsan/release_shadow_space.c |
 | compiler-rt/test/dfsan/munmap_release_shadow.c |
 | compiler-rt/lib/dfsan/dfsan_interceptors.cpp |
Commit
7193f727988360acb7037b42851f0a6fae29af9b
by Duncan P. N. Exon Smithdocs: Emphasize ArrayRef over SmallVectorImpl
The section on SmallVector has a note about preferring SmallVectorImpl for APIs but doesn't mention ArrayRef. Although ArrayRef is discussed elsewhere, let's re-emphasize here.
Differential Revision: https://reviews.llvm.org/D49881
|
 | llvm/docs/ProgrammersManual.rst |
Commit
b45b5166f8f91e601ebd7bc73bb6800155c4c9bc
by Lang Hames[RuntimeDyld][COFF] Report fatal error on error, rather than emiting diagnostic.
Report a fatal error if an IMAGE_REL_AMD64_ADDR32NB cannot be applied due to an out-of-range target. Previously we emitted a diagnostic to llvm::errs and continued.
Patch by Dale Martin. Thanks Dale!
|
 | llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h |
Commit
5e4409f30817798377689ef6c229f1c82815e6e8
by Matthew.ArsenaultFix out-of-tree clang build due to sysexits change
The sysexists change broke clang building out of tree against llvm.
https://reviews.llvm.org/D88467
|
 | llvm/include/llvm/Config/llvm-config.h.cmake |
 | llvm/include/llvm/Support/ExitCodes.h |
 | llvm/include/llvm/Config/config.h.cmake |
Commit
7060920bd1f70b778105703a5c95066658ed5886
by ataeiRelax FuseTensorReshapeOpAsproducer identity mapping constraint
Differential Revision: https://reviews.llvm.org/D88869
|
 | mlir/test/Dialect/Linalg/fusion-tensor.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp |
Commit
dfa70a483aad438cad826c414a5d710bab6ecf49
by thakis[gn build] manually port 5e4409f308177
|
 | llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn |
Commit
e3b0414b0ea305396a1fcfb2821ad643b0731880
by Jonas Devlieghere[lldb] Change the xcrun (fallback) logic in GetXcodeSDK
This changes the logic in GetXcodeSDK to find an SDK with xcrun. The code now executes the following steps:
1. If DEVELOPER_DIR is set in the environment, it invokes xcrun with the given developer dir. If this fails we stop and don't fall back. 2. If the shlib dir is set and exists,it invokes xcrun with the developer dir corresponding to the shlib dir. If this fails we fall back to 3. 3. We run xcrun without a developer dir.
The new behavior introduced in this patch is that we fall back to running xcrun without a developer dir if running it based on the shlib dir failed.
A situation where this matters is when you're running lldb from an Xcode that has no SDKs and that is not xcode-selected. Based on lldb's shlib dir pointing into this Xcode installation, it will do an xcrun with the developer set to the Xcode without any SDKs which will fail. With this patch, when that happens, we'll fall back to trying the xcode-selected Xcode by running xcrun without a developer dir.
Differential revision: https://reviews.llvm.org/D88866
|
 | lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm |
Commit
3f540c05dfe90f5c0378614e3a4ada06b967227e
by johannes[Attributor] Give up early on AANoReturn::initialize
If the function is not assumed `noreturn` we should not wait for an update to mark the call site as "may-return".
This has two kinds of consequences: - We have less iterations in many tests. - We have less deductions based on "known information" (since we ask earlier, point 1, and therefore assumed information is not "known" yet). The latter is an artifact that we might want to tackle properly at some point but which is not easily fixable right now.
|
 | llvm/lib/Transforms/IPO/AttributorAttributes.cpp |
 | llvm/test/Transforms/Attributor/internalize.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll |
 | llvm/test/Transforms/Attributor/IPConstantProp/multiple_callbacks.ll |
 | llvm/test/Transforms/Attributor/IPConstantProp/musttail-call.ll |
 | llvm/test/Transforms/Attributor/IPConstantProp/naked-return.ll |
 | llvm/test/Transforms/Attributor/readattrs.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll |
 | llvm/test/Transforms/Attributor/alwaysinline.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/musttail.ll |
 | llvm/test/Transforms/Attributor/misc.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/X86/thiscall.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll |
 | llvm/test/Transforms/Attributor/noalias.ll |
 | llvm/test/Transforms/Attributor/nocapture-2.ll |
 | llvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll |
 | llvm/test/Transforms/Attributor/returned.ll |
 | llvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll |
Commit
c4cfe7a43512c8fadb2aa207f6d914858e2cc50e
by johannes[Attributor] Ignore read accesses to constant memory
The old function attribute deduction pass ignores reads of constant memory and we need to copy this behavior to replace the pass completely. First step are constant globals. TBAA can also describe constant accesses and there are other possibilities. We might want to consider asking the alias analyses that are available but for now this is simpler and cheaper.
|
 | llvm/test/Transforms/Attributor/ArgumentPromotion/invalidation.ll |
 | llvm/lib/Transforms/IPO/AttributorAttributes.cpp |
 | llvm/test/Transforms/Attributor/readattrs.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll |
Commit
7993d61177c8c6e9aa238e57a684c6cd3db3b571
by johannes[Attributor] Use smarter way to determine alignment of GEPs
Use same logic existing in other places to deal with base case GEPs.
Add the original Attributor talk example.
|
 | llvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll |
 | llvm/test/Transforms/Attributor/align.ll |
 | llvm/lib/Transforms/IPO/AttributorAttributes.cpp |
Commit
2f40e20613758b3e11a15494c09f4b6973673d6b
by clementval[flang][openacc] Fix device_num and device_type clauses for init directive
This patch fix the device_num and device_type clauses used in the init clause. device_num was not spelled correctly in the parser and was to restrictive with scalarIntConstantExpr instead of scalarIntExpr. device_type is now taking a list of ScalarIntExpr.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D88571
|
 | flang/test/Semantics/acc-clause-validity.f90 |
 | flang/lib/Parser/openacc-parsers.cpp |
 | llvm/include/llvm/Frontend/OpenACC/ACC.td |
Commit
d2c61d2bf9bd1efad49acba2f2751112522686aa
by isanbard[CodeGen][TailDuplicator] Don't duplicate blocks with INLINEASM_BR
Tail duplication of a block with an INLINEASM_BR may result in a PHI node on the indirect branch. This is okay, but it also introduces a copy for that PHI node *after* the INLINEASM_BR, which is not okay.
See: https://github.com/ClangBuiltLinux/linux/issues/1125
Differential Revision: https://reviews.llvm.org/D88823
|
 | llvm/test/CodeGen/X86/tail-dup-asm-goto.ll |
 | llvm/lib/CodeGen/TailDuplicator.cpp |
Commit
0492dd91c49ca38bb45d5294f2a6711e3d40b16f
by czhengsz[PowerPC] add more builtins for PPCTargetLowering::getTgtMemIntrinsic
Reviewed By: steven.zhang
Differential Revision: https://reviews.llvm.org/D88374
|
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
Commit
f05608707c641423a4cd4d5923a44cda153ebbcb
by czhengsz[PowerPC] implement target hook getTgtMemIntrinsic
This patch can make pass recognize Powerpc related memory intrinsics.
Reviewed By: steven.zhang
Differential Revision: https://reviews.llvm.org/D88373
|
 | llvm/test/Transforms/LoopStrengthReduce/Power/memory-intrinsic.ll |
 | llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h |
 | llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp |
Commit
ed46e84c7aaffd847656ac559acb06089096ec33
by czhengsz[MachineInstr] exclude call instruction in mayAlias
we now get noAlias result for a call instruction and other load/store/call instructions if we query mayAlias. This is not right as call instruction is not with mayloadorstore, but it may alter the memory.
This patch fixes this wrong alias query.
Differential Revision: https://reviews.llvm.org/D87490
|
 | llvm/lib/CodeGen/MachineInstr.cpp |
Commit
5a3f6bfe8a71b94728597aee12a4c36949d5f6af
by johannesReapply "[OpenMP][FIX] Verify compatible types for declare variant calls" D88384
This reapplies D88384 with the minor modification that an assertion was changed to a regular conditional and graceful exit from ASTContext::mergeTypes.
|
 | clang/lib/AST/ASTContext.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/test/AST/ast-dump-openmp-begin-declare-variant_template_3.cpp |
 | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp |
Commit
0c009e092e29a3dff16c5c0522979341fab3be62
by mkazantsev[Test] Add test showing that we can avoid inserting trunc/zext
|
 | llvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll |
Commit
edd71db38b0c2292e6a36fb789a3ec3cbde6a023
by yhsBPF: avoid duplicated globals for CORE relocations
This patch fixed two issues related with relocation globals. In LLVM, if a global, e.g. with name "g", is created and conflict with another global with the same name, LLVM will rename the global, e.g., with a new name "g.2". Since relocation global name has special meaning, we do not want llvm to change it, so internally we have logic to check whether duplication happens or not. If happens, just reuse the previous global.
The first bug is related to non-btf-id relocation (BPFAbstractMemberAccess.cpp). Commit 54d9f743c8b0 ("BPF: move AbstractMemberAccess and PreserveDIType passes to EP_EarlyAsPossible") changed ModulePass to FunctionPass, i.e., handling each function at a time. But still just one BPFAbstractMemberAccess object is created so module level de-duplication still possible. Commit 40251fee0084 ("[BPF][NewPM] Make BPFTargetMachine properly adjust NPM optimizer pipeline") made a change to create a BPFAbstractMemberAccess object per function so module level de-duplication is not possible any more without going through all module globals. This patch simply changed the map which holds reloc globals as class static, so it will be available to all BPFAbstractMemberAccess objects for different functions.
The second bug is related to btf-id relocation (BPFPreserveDIType.cpp). Before Commit 54d9f743c8b0, the pass is a ModulePass, so we have a local variable, incremented for each instance, and works fine. But after Commit 54d9f743c8b0, the pass becomes a FunctionPass. Local variable won't work properly since different functions will start with the same initial value. Fix the issue by change the local count variable as static, so it will be truely unique across the whole module compilation.
Differential Revision: https://reviews.llvm.org/D88942
|
 | llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp |
 | llvm/test/CodeGen/BPF/CORE/btf-id-duplicate.ll |
 | llvm/test/CodeGen/BPF/CORE/field-reloc-duplicate.ll |
 | llvm/lib/Target/BPF/BPFPreserveDIType.cpp |
Commit
7fa503ef4aaddc1c31dd36d970aa6609383e1718
by lebedev.ri[SROA] rewritePartition()/findCommonType(): if uses have conflicting type, try getTypePartition() before falling back to largest integral use type (PR47592)
And another step towards transformss not introducing inttoptr and/or ptrtoint casts that weren't there already.
In this case, when load/store uses have conflicting types, instead of falling back to the iN, we can try to use allocated sub-type. As disscussed, this isn't the best idea overall (we shouldn't rely on allocated type), but it works fine as a temporary measure.
I've measured, and @ `-O3` as of vanilla llvm test-suite + RawSpeed, this results in +0.05% more bitcasts, -5.51% less inttoptr and -1.05% less ptrtoint (at the end of middle-end opt pipeline)
See https://bugs.llvm.org/show_bug.cgi?id=47592
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D88788
|
 | llvm/test/Transforms/SROA/preserve-nonnull.ll |
 | llvm/test/DebugInfo/ARM/sroa-complex.ll |
 | llvm/test/Transforms/SROA/ppcf128-no-fold.ll |
 | llvm/lib/Transforms/Scalar/SROA.cpp |
Commit
0fcacefd160494280dc040f4f055db6df695ac12
by Jonas Devlieghere[lldb] Format unix signal table (NFC)
Restore unix signal table to its original glory and mark it as not to be clang-formatted.
|
 | lldb/source/Target/UnixSignals.cpp |