Commit
3310e0020cf1bc4c17acf9d404274325007af326
by joker.ephRevert "[ODS/AsmParser] Don't pass MLIRContext with DialectAsmParser."
This reverts commit 4b32f8bac40dcd1535bfe95757c3de0911bf6d1a.
Seems like the build is broken with -DDBUILD_SHARED_LIBS=ON
|
 | mlir/lib/Parser/Parser.cpp |
 | mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp |
 | mlir/tools/mlir-tblgen/OpFormatGen.cpp |
 | mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp |
 | mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp |
 | mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp |
 | mlir/lib/Dialect/Vector/VectorOps.cpp |
 | mlir/lib/Dialect/Async/IR/Async.cpp |
 | flang/lib/Optimizer/Dialect/FIRType.cpp |
 | mlir/test/lib/Dialect/Test/TestTypes.cpp |
 | mlir/lib/Dialect/EmitC/IR/EmitC.cpp |
 | mlir/lib/Dialect/PDL/IR/PDLTypes.cpp |
 | mlir/include/mlir/IR/OpImplementation.h |
 | mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp |
 | mlir/test/lib/Dialect/Test/TestDialect.cpp |
 | mlir/test/lib/Dialect/Test/TestAttributes.cpp |
 | mlir/test/mlir-tblgen/typedefs.td |
 | mlir/test/mlir-tblgen/attrdefs.td |
 | mlir/lib/Dialect/Affine/IR/AffineOps.cpp |
 | mlir/lib/Dialect/DLTI/DLTI.cpp |
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp |
 | mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp |
 | mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp |
 | mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp |
 | mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp |
 | mlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp |
Commit
33f43153248a286f7749d2a838259fb3431ca929
by clattner[AsmParser] move AsmParser::getContext to IR library.
This is (perhaps unintuitively) where the other AsmParser method implementations are, which means that dialects don't generally need to depend on MLIRParser directly. This should fix a build failure building .so files on the mlir-nvidia builder.
|
 | mlir/lib/IR/AsmPrinter.cpp |
Commit
fb093c83147e591991ffece79752ed80d3ff960a
by joker.eph[ODS/AsmParser] Don't pass MLIRContext with DialectAsmParser.
The former is redundant because the later carries it as part of its builder. Add a getContext() helper method to DialectAsmParser to make this more convenient, and stop passing the context around explicitly. This simplifies ODS generated parser hooks for attrs and types.
This resolves PR51985
Recommit 4b32f8bac4 after fixing a dependency.
Differential Revision: https://reviews.llvm.org/D110796
|
 | mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp |
 | mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp |
 | mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp |
 | mlir/lib/Dialect/Vector/VectorOps.cpp |
 | mlir/test/mlir-tblgen/attrdefs.td |
 | mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp |
 | mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp |
 | mlir/test/lib/Dialect/Test/TestDialect.cpp |
 | mlir/lib/Dialect/Affine/IR/AffineOps.cpp |
 | mlir/lib/Dialect/EmitC/IR/EmitC.cpp |
 | mlir/lib/Dialect/Async/IR/Async.cpp |
 | mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp |
 | mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp |
 | mlir/lib/Parser/Parser.cpp |
 | mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp |
 | mlir/lib/Dialect/PDL/IR/PDLTypes.cpp |
 | flang/lib/Optimizer/Dialect/FIRType.cpp |
 | mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp |
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/test/lib/Dialect/Test/TestAttributes.cpp |
 | mlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp |
 | mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp |
 | mlir/include/mlir/IR/OpImplementation.h |
 | mlir/test/mlir-tblgen/typedefs.td |
 | mlir/lib/Dialect/DLTI/DLTI.cpp |
 | mlir/test/lib/Dialect/Test/TestTypes.cpp |
 | mlir/tools/mlir-tblgen/OpFormatGen.cpp |
Commit
d104db531ee6d821d94ffd4bb48fa3929ab01235
by clattnerAsmParser::getContext() - there can be only one. This should unbreak the build.
|
 | mlir/lib/Parser/Parser.cpp |
Commit
97a0ba475d105838bd9bb7ed8506f599210995c7
by shivam98.tkg[clang] Update Clang version from 13 to 14 in scan-build.1.
Reviewed By: NoQ
Differential Revision: https://reviews.llvm.org/D110763
|
 | clang/tools/scan-build/man/scan-build.1 |
Commit
941191aae4abaf88b176bec8cfe1c841a5832642
by aktoon[llvm-profgen] Refactor and better diagnostics
This change contains diagnostics improvments, refactoring and preparation for consuming perf data directly.
Diagnostics: - We now have more detailed diagnostics when no mmap is found. - We also print warning for abnormal transition to external code.
Refactoring: - Simplify input perf trace processing to only allow a single input file. This is because 1) using multiple input perf trace (perf script) is error prone because we may miss key mmap events. 2) the functionality is not really being used anyways. - Make more functions private for Readers, move non-trivial definitions out of header. Cleanup some inconsistency. - Prepare for consuming perf data as input directly.
Differential Revision: https://reviews.llvm.org/D110729
|
 | llvm/tools/llvm-profgen/llvm-profgen.cpp |
 | llvm/tools/llvm-profgen/PerfReader.h |
 | llvm/tools/llvm-profgen/PerfReader.cpp |
Commit
1f0bc617bdd11a4f3b0d820603b0089f81aca79b
by aktoon[llvm-porfgen] Allow perf data as input
This change enables llvm-profgen to take raw perf data as alternative input format. Sometimes we need to retrieve evenets for processes with matching binary. Using perf data as input allows us to retrieve process Ids from mmap events for matching binary, then filter by process id during perf script generation.
Differential Revision: https://reviews.llvm.org/D110793
|
 | llvm/tools/llvm-profgen/PerfReader.cpp |
 | llvm/tools/llvm-profgen/PerfReader.h |
 | llvm/tools/llvm-profgen/llvm-profgen.cpp |
Commit
47d66355ef9039a15b7265945e3deb331d7f9e05
by aktoon[llvm-profgen] Fix alignment in preferred based calculation
We used the segment alignment in elf header to assume the loader alignment. However this is incorrect because loader alignment is always the same as page size. If segment needs to be aligned at load time, linker will set aligned address as virtual address in elf header.
Differential Revision: https://reviews.llvm.org/D110795
|
 | llvm/tools/llvm-profgen/ProfiledBinary.cpp |
Commit
dd13f45e04366cc4f648b57ec87d20a5569e27c3
by kbobyrev[clangd] Reland D110386
D110711 will fix the bug on Windows side and allows me to reland this patch.
Also land e50771181b7e0d96b30ee33049dc05172125b927 on top of it.
|
 | clang-tools-extra/clangd/unittests/ParsedASTTests.cpp |
 | clang-tools-extra/clangd/Headers.h |
 | clang-tools-extra/clangd/CodeComplete.cpp |
 | clang-tools-extra/clangd/Headers.cpp |
 | clang-tools-extra/clangd/unittests/HeadersTests.cpp |
Commit
455b60ccfbfdbb5d2b652666050544c31e6673b1
by courbet[AA] Teach BasicAA to recognize basic GEP range information.
The information can be implicit (from `ValueTracking`) or explicit.
This implements the backend part of the following RFC https://groups.google.com/g/llvm-dev/c/T9o51zB1JY.
We still need to settle on how to best represent the information in the IR, but this is a separate discussion.
Differential Revision: https://reviews.llvm.org/D109746
|
 | llvm/test/Analysis/BasicAA/sequential-gep.ll |
 | llvm/test/Analysis/BasicAA/range.ll |
 | llvm/lib/Analysis/BasicAliasAnalysis.cpp |
 | llvm/test/Analysis/BasicAA/assume-index-positive.ll |
Commit
afeda4b9ed881fb3f1b4340b8afa9963656013dc
by zinenko[mlir][python] provide access to function argument/result attributes
Without this change, these attributes can only be accessed through the generic operation attribute dictionary provided the caller knows the special operation attribute names used for this purpose. Add some Python wrapping to support this use case.
Also provide access to function arguments usable inside the function along with a couple of quality-of-life improvements in using block arguments (function arguments being the arguments of its entry block).
Reviewed By: stellaraccident
Differential Revision: https://reviews.llvm.org/D110758
|
 | mlir/lib/Bindings/Python/IRCore.cpp |
 | mlir/test/python/ir/operation.py |
 | mlir/test/python/dialects/builtin.py |
 | mlir/python/mlir/dialects/_builtin_ops_ext.py |
 | mlir/lib/Bindings/Python/PybindUtils.h |
Commit
8c1b785ce110b754c2112906021a929ddd32f587
by zinenko[mlir][python] provide bindings for the SCF dialect
This is an important core dialect that has not been exposed previously. Set up the default bindings generation and provide a nicer wrapper for the `for` loop with access to the loop configuration and body.
Depends On D110758
Reviewed By: stellaraccident
Differential Revision: https://reviews.llvm.org/D110759
|
 | mlir/python/mlir/dialects/scf.py |
 | mlir/python/CMakeLists.txt |
 | mlir/test/python/dialects/scf.py |
 | mlir/python/mlir/dialects/SCFOps.td |
 | mlir/python/mlir/dialects/_scf_ops_ext.py |
Commit
2c60cfc05f6fb32f128688c4cfffb09a978d539f
by marek.kurdej+llvm.org[format] [docs] Fix typos and clarify QualifierAlignment/QualifierOrder documentation.
|
 | clang/lib/Format/QualifierAlignmentFixer.cpp |
 | clang/include/clang/Format/Format.h |
 | clang/lib/Format/TokenAnnotator.cpp |
 | clang/docs/ClangFormatStyleOptions.rst |
Commit
d084c42bdfac4a5879bdabe645b14cf72f7685a7
by kbobyrevInvestigate failure in rGdd13f45e04366cc4f648b57ec87d20a5569e27c3
https://lab.llvm.org/buildbot/#/builders/123/builds/6406/steps/8/logs/stdio
|
 | clang-tools-extra/clangd/unittests/ParsedASTTests.cpp |
 | clang-tools-extra/clangd/unittests/HeadersTests.cpp |
 | clang-tools-extra/clangd/Headers.cpp |
 | clang-tools-extra/clangd/Headers.h |
Commit
3ccb473df3f9480232cc08b47e47508d7afb48e3
by andrzej.warzynski[flang][docs] Remove the new driver sync-up calls
|
 | flang/docs/GettingInvolved.md |
Commit
87817bc523daba1d2bd0492144a5d6adba8a649c
by kbobyrevFix the build after d084c42bdfac4a5879bdabe645b14cf72f7685a7
|
 | clang-tools-extra/clangd/Headers.h |
Commit
34d6c1822eebe2c69c850e14d48e986a5b68cbd6
by clementval[fir] Update fir.array_update, fir.array_fetch and fir.array_merge_store
Add typeparams to fir.array_update, fir.array_fetch and fir.array_merge_store operations. Add optional slice operands to fir.array_merge_store op. Move verifiers to cpp file.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D110701
Co-authored-by: Valentin Clement <clementval@gmail.com>
|
 | flang/include/flang/Optimizer/Support/Utils.h |
 | flang/lib/Optimizer/Dialect/FIROps.cpp |
 | flang/test/Fir/fir-ops.fir |
 | flang/include/flang/Optimizer/Dialect/FIRType.h |
 | flang/test/Fir/invalid.fir |
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
Commit
156d7d2df748fa12f1a2b3de502c12035ff8b3d6
by jay.foad[LiveIntervals] Remove unused subreg ranges in repairIntervalsInRange
If the old instructions mentioned a subreg that the new instructions do not, remove the subrange for that subreg.
For example, in TwoAddressInstructionPass::eliminateRegSequence, if a use operand in the REG_SEQUENCE has the undef flag then we don't generate a copy for it so after the elimination there should be no live interval at all for the corresponding subreg of the def.
This is a small step towards switching TwoAddressInstructionPass over from LiveVariables to LiveIntervals. Currently this path is only tested if you explicitly enable -early-live-intervals.
Differential Revision: https://reviews.llvm.org/D110542
|
 | llvm/test/CodeGen/Thumb2/mve-sext-masked-load.ll |
 | llvm/test/CodeGen/AMDGPU/dead-lane.mir |
 | llvm/lib/CodeGen/LiveIntervals.cpp |
Commit
c8f03a7fe80212b35b150910f5b73bfa5d272053
by clementval[fir] Update fir.extract_value and fir.insert_value ops
Move coor operand from variadic values to ArrayAttr. Update assembly format.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D110652
Co-authored-by: Jean Perier <jperier@nvidia.com> Co-authored-by: Valentin Clement <clementval@gmail.com>
|
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
 | flang/lib/Optimizer/Dialect/FIROps.cpp |
 | flang/test/Fir/fir-ops.fir |
Commit
13f3c39f3658fa28cb008eb56a58d8e34697cd5d
by jingu.kangSecond Recommit "[AArch64] Split bitmask immediate of bitwise AND operation"
This reverts the revert commit c07f7099690e8607d119227db1f80ee21eff3a3b with bug fixes.
Differential Revision: https://reviews.llvm.org/D109963
|
 | llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp |
 | llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h |
 | llvm/lib/Target/AArch64/AArch64TargetMachine.cpp |
 | llvm/lib/Target/AArch64/CMakeLists.txt |
 | llvm/test/CodeGen/AArch64/unfold-masked-merge-scalar-constmask-innerouter.ll |
 | llvm/test/CodeGen/AArch64/O3-pipeline.ll |
 | llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll |
 | llvm/lib/Target/AArch64/AArch64.h |
Commit
4db00342e566debacf1c048fe6968fdbe0b7683d
by llvmgnsyncbot[gn build] Port 13f3c39f3658
|
 | llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn |
Commit
1f69dc08454725d95e9dbf6e299afc91e44506f5
by clementval[fir] Update fir.allocmem op
Updatet the fir.allocmem operation.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: schweitz
Differential Revision: https://reviews.llvm.org/D110412
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
|
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
 | flang/lib/Optimizer/Dialect/FIROps.cpp |
Commit
8014b28dcfa17532bdff31358c1c5aa00e76452e
by clementval[fir] Update fir.alloca op
Update the fir.alloca operation.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D110415
Co-authored-by: Jean Perier <jperier@nvidia.com> Co-authored-by: Valentin Clement <clementval@gmail.com>
|
 | flang/lib/Optimizer/Dialect/FIROps.cpp |
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
Commit
633f70f76ec66956282087dbaf0ab4086a9ffd4f
by clementval[fir][NFC] Move parser/printer/builder to cpp file
Move the parsers, printers and builders from the TableGen file to the .cpp file. Remaining parsers, printers and builders will be moved when we update the operations.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: schweitz
Differential Revision: https://reviews.llvm.org/D110626
|
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
 | flang/lib/Optimizer/Dialect/FIROps.cpp |
Commit
230a6edb49c31e2c96613f5b7deefd4f4faf9a6d
by kbobyrevRevert "[clangd] Reland D110386"
This reverts commits
- dd13f45e04366cc4f648b57ec87d20a5569e27c3 - d084c42bdfac4a5879bdabe645b14cf72f7685a7 - 87817bc523daba1d2bd0492144a5d6adba8a649c
|
 | clang-tools-extra/clangd/unittests/HeadersTests.cpp |
 | clang-tools-extra/clangd/CodeComplete.cpp |
 | clang-tools-extra/clangd/unittests/ParsedASTTests.cpp |
 | clang-tools-extra/clangd/Headers.cpp |
 | clang-tools-extra/clangd/Headers.h |
Commit
e5e0e00831ba093639edbd443b6e05b3118f8930
by balazs.benics[NFC] Cleanup the overload of ASTImporter::import()
This patch aims to address the comment of a previous review: https://reviews.llvm.org/D109237#inline-1040678
The original problem was the following: `T` is substituted by `clang::Type`
Expected<T *> import(T *From) { auto ToOrErr = Importer.Import(From); // ^^^^^^^^^^^^^^^^^^^^^ if (!ToOrErr) return ToOrErr.takeError(); return cast_or_null<T>(*ToOrErr); // ^^^^^^^^^^^^^^^^^^^^^^^^^ }
`Importer.Import()` operates on `const Type *`, thus returns `const Type *`. Later, at the return statement, we will try to construct an `Expected<Type*>` from a `const Type *`, which failed with a miserable error message.
In all other cases `importer.Import()` results in a non-const version, so everything works out just fine, but for `clang::type`s, we should really return a const version.
So, in case of `T` is a subclass of `clang::Type`, it will return a `Exprected<const T*>` instead.
Reviewed By: martong
Differential Revision: https://reviews.llvm.org/D109269
|
 | clang/lib/AST/ASTImporter.cpp |
Commit
220f314f94abfd201930ed9d491ce55695df2908
by clementval[fir] Update fir.field_index op
Move the parser, printer, verifier and builder out of the .td file. Rename lenparams to typeparams to be in sync with fir-dev.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: rovka
Differential Revision: https://reviews.llvm.org/D110690
|
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
 | flang/lib/Optimizer/Dialect/FIROps.cpp |
Commit
fad14a17a490b1825b0c7c40ace7e83c91af4b8a
by nemanja.i.ibm[PowerPC] Truncate element index for vec_insert in altivec.h
When a user specifies an out-of-range index for vec_insert, we just produce IR that has undefined behaviour even though the documentation states that modulo arithmetic is used. This patch just truncates the value to a valid index.
|
 | clang/lib/Headers/altivec.h |
Commit
2e7deee376aaf24344c16e968d216b5673552a76
by Amara Emerson[AArch64][GlobalISel] Re-generate some tests for D110802.
|
 | llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/combine-mul.mir |
Commit
6776bcfeb6a1fb33ad3bdc663b364e8adb126041
by lebedev.ri[NFC][Costmodel][LV][X86] Add test coverage for f32 interleaved load/store stride=2
|
 | llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-2.ll |
 | llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-2.ll |
Commit
68e56bd320d70470c39ec921bd23dae6836770d7
by akuegel[mlir] Remove unused namespace alias.
|
 | mlir/lib/Bindings/Python/Conversions/Conversions.cpp |
Commit
dea48079b90d40f2087435b778544dffb0ab1793
by kbobyrev[clangd] Land D110386 again
This time, use llvm::sys::fs::UniqueID instead of unstable FileEntry::getName(), this should solve the problems on Windows and elsewhere.
|
 | clang-tools-extra/clangd/Headers.h |
 | clang-tools-extra/clangd/unittests/ParsedASTTests.cpp |
 | clang-tools-extra/clangd/Headers.cpp |
 | clang-tools-extra/clangd/unittests/HeadersTests.cpp |
 | clang-tools-extra/clangd/CodeComplete.cpp |
Commit
adc18ad6ac67658a237ffb345623f4cf78b9c3c8
by gchatelet[libc] move benchmark function registration to a different file
|
 | libc/benchmarks/CMakeLists.txt |
 | libc/benchmarks/LibcDefaultImplementations.cpp |
 | libc/benchmarks/LibcMemoryGoogleBenchmarkMain.cpp |
 | libc/benchmarks/LibcFunctionPrototypes.h |
 | libc/benchmarks/LibcMemoryBenchmark.h |
Commit
bafd8b1add1e0871a4cc568bd40bf6bbfc175762
by brock.wyma[CodeView] Recognize Fortran95 as Fortran instead of MASM
Map Fortran95 sources to Fortran so the CodeView language is not emitted as MASM.
Differential Revision: https://reviews.llvm.org/D110330
|
 | llvm/test/DebugInfo/COFF/language.ll |
 | llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp |
Commit
f9aa8623fe6d3b44e8a2b5b148c7fddaee71427b
by david.green[ARM] Add more MVE intrinsics to sink splats to
This adds a few more unpredicated intrinsics to sink splats to, in order to create more qr instruction variants. Notably this includes saddsat/uaddsat but also some of the unpredicated mve intrinsics.
Differential Revision: https://reviews.llvm.org/D110333
|
 | llvm/test/CodeGen/Thumb2/mve-qrintr.ll |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
Commit
93a6b49d38af236a964492ac6de71d71e93a89a6
by zinenko[mlir][python] provide bindings for ops from the sparse_tensor dialect
Previously, the dialect was exposed for linking and pass management purposes, but we did not generate op classes for it. Generate them.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D110819
|
 | mlir/python/mlir/dialects/SparseTensorOps.td |
 | mlir/python/mlir/dialects/sparse_tensor.py |
 | mlir/python/CMakeLists.txt |
Commit
ccc0f62d1bc96e56d816f9cd7a987666fbd36b5b
by clementval[fir][NFC] Update and move fir.freemem and fir.store
Move fir.freemem and fir.store to the Memory SSA operations sections. Move parser, printer and verifier of fir.store to the .cpp file.
This patch is part of the upstreaming effort from fir-dev branch.
Co-authored-by: Jean Perier <jperier@nvidia.com> Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D110816
|
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
 | flang/lib/Optimizer/Dialect/FIROps.cpp |
Commit
afb30fcdf672d0d8dcdfe04d9d235b950112b622
by clementval[fir][NFC] Move fir.shape verifier to cpp file
Move verifier code to the .cpp file.
Follow up to https://reviews.llvm.org/D110626.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D110826
|
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
 | flang/lib/Optimizer/Dialect/FIROps.cpp |
Commit
452714f8f8037ff37f9358317651d1652e231db2
by anna[BPI] Keep BPI available in loop passes through LoopStandardAnalysisResults
This is analogous to D86156 (which preserves "lossy" BFI in loop passes). Lossy means that the analysis preserved may not be up to date with regards to new blocks that are added in loop passes, but BPI will not contain stale pointers to basic blocks that are deleted by the loop passes.
This is achieved through BasicBlockCallbackVH in BPI, which calls eraseBlock that updates the data structures in BPI whenever a basic block is deleted.
This patch does not have any changes in the upstream pipeline, since none of the loop passes in the pipeline use BPI currently. However, since BPI wasn't previously preserved in loop passes, the loop predication pass was invoking BPI *on the entire function* every time it ran in an LPM. This caused massive compile time in our downstream LPM invocation which contained loop predication.
See updated test with an invocation of a loop-pipeline containing loop predication and -debug-pass turned ON.
Reviewed-By: asbirlea, modimo Differential Revision: https://reviews.llvm.org/D110438
|
 | llvm/lib/Transforms/Scalar/LoopDistribute.cpp |
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/include/llvm/Transforms/Scalar/LoopPassManager.h |
 | llvm/lib/Transforms/Utils/LoopVersioning.cpp |
 | llvm/lib/Transforms/Scalar/LoopPassManager.cpp |
 | llvm/test/Transforms/LoopPredication/preserve-bpi.ll |
 | llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp |
 | llvm/lib/Transforms/Scalar/LoopPredication.cpp |
 | llvm/include/llvm/Analysis/LoopAnalysisManager.h |
Commit
a6fc555202ac1bd77d9c6c9325d797ae7d83b30d
by clementval[fir][NFC] Move parser/printer for fir.global_len
Move parser and printer to the .cpp file.
Follow up to https://reviews.llvm.org/D110626.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D110828
|
 | flang/lib/Optimizer/Dialect/FIROps.cpp |
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
Commit
7bb47a046fe023c09cca2500e39eba5f440fbb99
by kubak[NFC] Improve file-level documentation for Sequence.h
Add usage samples.
This was extracted from a bigger patch: https://reviews.llvm.org/D107378.
Reviewed By: aaron.ballman, gchatelet
Differential Revision: https://reviews.llvm.org/D110760
|
 | llvm/include/llvm/ADT/Sequence.h |
Commit
6be397eb3545ac21aaf1dc2353f608825e0c7aa3
by lebedev.ri[NFC][X86][LV] Add costmodel test coverage for interleaved i64/f64 load/store stride=2
|
 | llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-2.ll |
 | llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-2.ll |
 | llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-2.ll |
 | llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-2.ll |
Commit
3bd02ec97704058a984b0db65a5d104830d2b1f6
by lebedev.ri[NFC][X86][Codegen] Add test coverage for interleaved i64 load/store stride=2
|
 | llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll |
 | llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-2.ll |
Commit
6f2d01376d2da4e73e0dc5d339f6e5b1646a9c25
by anna[LoopPredication] Remove unused variable
After rG452714f8f8037ff37f9358317651d1652e231db2, the Function `F` retrieved in LoopPredication is not used. Remove this unused variable to stop some buildbots (ASAN, clang-ppc) from failing.
|
 | llvm/lib/Transforms/Scalar/LoopPredication.cpp |
Commit
38ec2292f0c2f25062705607b92502c0f9de3678
by kbobyrev[clangd] Update comment after dea48079b90d40f2087435b778544dffb0ab1793
|
 | clang-tools-extra/clangd/Headers.h |
Commit
0781461959e2159f15fece225fe2a2efb48fe3b3
by clementval[fir][NFC] Removed unused declaration from td file
Remove unused code from FIROps.td file after latest patches.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D110814
|
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
Commit
c15bbdeafffb4a19f511671d1781a64bba638400
by Louis Dionne[libc++] Add a testing configuration specific to Apple's libc++
Apple's libc++ has a few differences with the LLVM libc++, and it is necessary to use a custom configuration file to test it properly.
Differential Revision: https://reviews.llvm.org/D110777
|
 | libcxx/utils/ci/run-buildbot |
 | libcxx/utils/ci/apple-install-libcxx.sh |
 | libcxx/test/configs/apple-libc++-shared.cfg.in |
Commit
4cab4f6b1c089fe51d50b4b4d931976db64fecce
by clementval[fir] Update fir.alloca op
Add pinned attributes and speicifc builders.
The pinned attribute helps mark those allocas in OpenMP regions that should not be hoisted out by an alloca hoisting pass.
This patch is part of the upstreaming effort from fir-dev branch.
Coming from PR: https://github.com/flang-compiler/f18-llvm-project/pull/1065
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D110815
Co-authored-by: Valentin Clement <clementval@gmail.com>
|
 | flang/lib/Optimizer/Dialect/FIROps.cpp |
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
Commit
97948620b1ace5dd6a637d5995266ceed6c54826
by spatel[x86] add test for 3 fcmps and logic; NFC
This is a more complex pattern than we handled with the initial patch for PR51245: D110342 / 09e71c367af3
We could extend the logic matching to allow a setcc as one operand and an extract of vector setcc (or even an arbitrary bool?) as the other.
|
 | llvm/test/CodeGen/X86/fcmp-logic.ll |
Commit
9c8d8fc98fe7105af8bf4e8d709e706d4327969e
by fmayer[NFC] [hwasan] Remove unneeded member.
Reviewed By: hctim
Differential Revision: https://reviews.llvm.org/D110791
|
 | llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h |
Commit
cf362ff4cab3a3bef5f32f0445526823998eb72f
by daniil.fukalov[NFC][AMDGPU] Improve cost model tests coverage.
|
 | llvm/test/Analysis/CostModel/AMDGPU/fmul.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fsub.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/bit-ops.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/shifts.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/add-sub.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/mul.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fdiv.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/addrspacecast.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/logicalop.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fma.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/extractelement.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fneg.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fabs.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/insertelement.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fadd.ll |
Commit
f631173d80cace522c89c566f13cc447741745e4
by kazu[llvm] Migrate from arg_operands to args (NFC)
Note that arg_operands is considered a legacy name. See llvm/include/llvm/IR/InstrTypes.h for details.
|
 | llvm/lib/Transforms/Utils/InlineFunction.cpp |
 | llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/lib/IR/AutoUpgrade.cpp |
 | llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp |
 | llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp |
 | llvm/unittests/IR/InstructionsTest.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp |
 | llvm/lib/Transforms/Utils/InjectTLIMappings.cpp |
 | llvm/lib/CodeGen/CodeGenPrepare.cpp |
 | llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp |
 | llvm/lib/CodeGen/ReplaceWithVeclib.cpp |
 | llvm/lib/Target/AArch64/AArch64FastISel.cpp |
 | llvm/lib/Transforms/Scalar/LICM.cpp |
 | llvm/lib/Analysis/ValueTracking.cpp |
Commit
7362cc5ef50b5ebcbb11380ab13a179902c7b8be
by clementval[fir][NFC] Rename lenParams to typeparams in builders
Fine tuning after couple of upstreamed patches. Rename the lenParams varaiables in buidlers to typeparams.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D110821
Co-authored-by: Valentin Clement <clementval@gmail.com>
|
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
Commit
981b12fe89f1a8e01445d05e5f6145e420a1c76d
by Louis Dionne[libc++][NFC] Remove stray whitespace
|
 | libcxx/utils/libcxx/test/format.py |
Commit
9232ca4712cf3f3a99a8cd095165241daf0ddc4e
by Adrian PrantlImprove the effectiveness of BDCE's debug info salvaging
This patch improves the effectiveness of BDCE's debug info salvaging by processing the instructions in reverse order and delaying dropAllReferences until after debug info salvaging. This allows salvaging of entire chains of deleted instructions!
Previously we would remove all references from an instruction, which would make it impossible to use that instruction to salvage a later instruction in the instruction stream, because its operands were already removed.
This reapplies the previous patch with a fix for a use-after-free.
Differential Revision: https://reviews.llvm.org/D110568
|
 | llvm/test/Transforms/Util/salvage-debuginfo.ll |
 | llvm/lib/Transforms/Scalar/BDCE.cpp |
Commit
267bb194f3cedd88db0e7a5ea86169d669948e74
by stellaraccident[mlir] Remove old "tc" linalg ods generator.
* This could have been removed some time ago as it only had one op left in it, which is redundant with the new approach. * `matmul_i8_i8_i32` (the remaining op) can be trivially replaced by `matmul`, which natively supports mixed precision.
Differential Revision: https://reviews.llvm.org/D110792
|
 | mlir/test/mlir-linalg-ods-gen/test-linalg-ods-gen.tc |
 | mlir/test/CMakeLists.txt |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td |
 | mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp |
 | mlir/test/Integration/Dialect/Linalg/CPU/benchmark_matmul_i8_i8_i32.mlir |
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc |
 | mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt |
 | mlir/test/Dialect/Linalg/vectorization.mlir |
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/tools/mlir-linalg-ods-gen/CMakeLists.txt |
 | mlir/test/Dialect/Linalg/tile-and-pad-tensors.mlir |
 | mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp |
 | mlir/test/lit.cfg.py |
Commit
765348298c52bcff7c33d766cda954c3371a700f
by craig.topper[CostModel] Update default cost model for sadd/ssub overflow to match TargetLowering
The expansion for these was updated in https://reviews.llvm.org/D47927 but the cost model was not adjusted.
I believe the cost model was also incorrect for the old expansion. The expansion prior to D47927 used 3 icmps using LHS, RHS, and Result to calculate theirs signs. Then 2 icmps to compare the signs. Followed by an And. The previous cost model was using 3 icmps and 2 selects. Digging back through git blame, those 2 selects in the cost model used to be 2 icmps, but were changed in https://reviews.llvm.org/D90681
Differential Revision: https://reviews.llvm.org/D110739
|
 | llvm/test/Analysis/CostModel/X86/arith-ssat.ll |
 | llvm/test/Transforms/LoopVectorize/ARM/mve-saddsatcost.ll |
 | llvm/include/llvm/CodeGen/BasicTTIImpl.h |
 | llvm/test/Analysis/CostModel/AArch64/arith-ssat.ll |
 | llvm/test/Analysis/CostModel/ARM/arith-ssat.ll |
 | llvm/test/Analysis/CostModel/X86/arith-overflow.ll |
 | llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll |
 | llvm/test/Analysis/CostModel/ARM/arith-overflow.ll |
Commit
fc7604a2c0791d81ca097e935d19784b80bd016d
by aeubanksInstantiate fewer templates in PassManager::addPass()
We create many instantiations of PassManager::addPass() in PassBuilder.cpp. vector::emplace_back() and make_unique() are both templated and would have many instantiations based on the number of times we instantiate addPass(). Now we directly construct the unique_ptr with the type as the actual unique_ptr type in the vector we are adding it to, so we only have one unique_ptr constructor instantiation across all addPass() instantiations and only the non-templated push_back().
This makes PassBuilder.cpp slightly faster to build.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D110775
|
 | llvm/include/llvm/Transforms/Scalar/LoopPassManager.h |
 | llvm/include/llvm/IR/PassManager.h |
Commit
ea02f9caffb6364613b1f49312a5dafb04ead48d
by nikita.ppv[BasicAA] Use ExtendedValue in VariableGEPIndex (NFC)
Use the ExtendedValue structure which is used for LinearExpression in VariableGEPIndex as well.
|
 | llvm/lib/Analysis/BasicAliasAnalysis.cpp |
Commit
d372e92baf96cb0913aa361ecbc53a38a5f29ae1
by aeubanksManually create unique_ptr in various pass adaptors
This avoids creating tons of make_unique template instantiations. And we only create a unique_ptr of the actual pass concept type, rather than creating a unique_ptr of the pass model subclass then casting it to the pass concept type.
This reduces the work spent compiling PassBuilder.cpp from 83M -> 73M instructions according to perf stat.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D110784
|
 | llvm/include/llvm/Analysis/CGSCCPassManager.h |
 | llvm/include/llvm/IR/PassManager.h |
 | llvm/include/llvm/Transforms/Scalar/LoopPassManager.h |
Commit
244aa7f7358da791a231ffd4efd849f166050c4b
by Stanislav.Mekhanoshin[AMDGPU] move hasAGPRs/hasVGPRs into header
It is now very simple and can go right into the header allowing optimizer to combine callers, such as isVGPRClass and similar.
It does not need anything from the TRI itself anymore, so make it static class member along with the callers.
Differential Revision: https://reviews.llvm.org/D110762
|
 | llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp |
 | llvm/lib/Target/AMDGPU/SIRegisterInfo.h |
Commit
b505ed9d313653782b81bbc97979c98edb205558
by Jonas Devlieghere[lldb] Remove support for replaying the test suite from a reproducer
This patch removes the infrastructure to replay the test suite from a reproducer, as well as the modifications made to the individual tests.
|
 | lldb/test/API/functionalities/reproducers/attach/TestReproducerAttach.py |
 | lldb/test/API/api/log/TestAPILog.py |
 | lldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py |
 | lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py |
 | lldb/test/API/commands/expression/issue_11588/Test11588.py |
 | lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py |
 | lldb/test/API/macosx/simulator/TestSimulatorPlatform.py |
 | lldb/test/API/commands/watchpoints/watchpoint_commands/command/TestWatchpointCommandPython.py |
 | lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py |
 | lldb/test/API/python_api/default-constructor/TestDefaultConstructorForAPIObjects.py |
 | lldb/test/API/python_api/sbdata/TestSBData.py |
 | lldb/test/API/functionalities/inferior-changed/TestInferiorChanged.py |
 | lldb/packages/Python/lldbsuite/test/dotest.py |
 | lldb/test/API/functionalities/signal/TestSendSignal.py |
 | lldb/test/API/lang/objc/foundation/TestSymbolTable.py |
 | lldb/test/API/commands/target/basic/TestTargetCommand.py |
 | lldb/test/API/functionalities/postmortem/netbsd-core/TestNetBSDCore.py |
 | lldb/test/API/commands/expression/timeout/TestCallWithTimeout.py |
 | lldb/test/API/functionalities/completion/TestCompletion.py |
 | lldb/test/API/python_api/disassemble-raw-data/TestDisassembleRawData.py |
 | lldb/test/API/commands/expression/expr-in-syscall/TestExpressionInSyscall.py |
 | lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py |
 | lldb/test/API/lang/objc/modules-update/TestClangModulesUpdate.py |
 | lldb/test/API/commands/log/basic/TestLogging.py |
 | lldb/test/API/functionalities/gdb_remote_client/TestRestartBug.py |
 | lldb/test/API/lit.site.cfg.py.in |
 | lldb/test/API/commands/process/launch/TestProcessLaunch.py |
 | lldb/test/API/macosx/macCatalyst/TestMacCatalyst.py |
 | lldb/test/API/functionalities/process_group/TestChangeProcessGroup.py |
 | lldb/test/API/macosx/version_zero/TestGetVersionZeroVersion.py |
 | lldb/test/API/functionalities/step_scripted/TestStepScripted.py |
 | lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py |
 | lldb/test/API/source-manager/TestSourceManager.py |
 | lldb/packages/Python/lldbsuite/test/decorators.py |
 | lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/TestBundleWithDotInFilename.py |
 | lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py |
 | lldb/test/API/lit.cfg.py |
 | lldb/test/API/lldbtest.py |
 | lldb/test/API/lang/objc/print-obj/TestPrintObj.py |
 | lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py |
 | lldb/test/API/python_api/target/TestTargetAPI.py |
 | lldb/test/API/lang/objc/modules-hash-mismatch/TestClangModulesHashMismatch.py |
 | lldb/test/API/lang/objc/modules/TestObjCModules.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_set_restart/TestBreakpointSetRestart.py |
 | lldb/test/API/lang/objc/foundation/TestRuntimeTypes.py |
 | lldb/test/API/types/AbstractBase.py |
 | lldb/test/API/python_api/symbol-context/TestSymbolContext.py |
 | lldb/test/API/commands/process/attach/attach_denied/TestAttachDenied.py |
 | lldb/packages/Python/lldbsuite/test/dotest_args.py |
 | lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py |
 | lldb/test/API/commands/session/save/TestSessionSave.py |
 | lldb/test/API/functionalities/gdb_remote_client/TestProcessConnect.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py |
 | lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py |
 | lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py |
 | lldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py |
 | lldb/test/API/lang/cpp/accelerator-table/TestCPPAccelerator.py |
 | lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py |
 | lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py |
 | lldb/test/API/commands/settings/quoting/TestQuoting.py |
 | lldb/test/API/lang/cpp/member-and-local-vars-with-same-name/TestMembersAndLocalsWithSameName.py |
 | lldb/packages/Python/lldbsuite/test/lldbtest.py |
 | lldb/test/API/python_api/process/TestProcessAPI.py |
 | lldb/test/API/functionalities/load_using_paths/TestLoadUsingPaths.py |
 | lldb/test/API/commands/command/script/TestCommandScript.py |
 | lldb/test/API/lang/c/modules/TestCModules.py |
 | lldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py |
 | lldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py |
 | lldb/test/API/functionalities/memory/read/TestMemoryRead.py |
 | lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py |
 | lldb/test/API/functionalities/conditional_break/TestConditionalBreak.py |
 | lldb/test/API/functionalities/gdb_remote_client/TestWriteMemory.py |
 | lldb/test/API/functionalities/load_unload/TestLoadUnload.py |
 | lldb/test/API/macosx/dyld-trie-symbols/TestDyldTrieSymbols.py |
 | lldb/test/API/commands/expression/no-deadlock/TestExprDoesntBlock.py |
 | lldb/test/API/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py |
 | lldb/test/API/python_api/interpreter/TestRunCommandInterpreterAPI.py |
 | lldb/packages/Python/lldbsuite/test/configuration.py |
 | lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteLoad.py |
 | lldb/test/API/functionalities/gdb_remote_client/TestIOSSimulator.py |
 | lldb/test/API/commands/process/attach/TestProcessAttach.py |
 | lldb/test/API/python_api/hello_world/TestHelloWorld.py |
 | lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py |
 | lldb/test/API/functionalities/breakpoint/serialize/TestBreakpointSerialization.py |
 | lldb/test/API/python_api/file_handle/TestFileHandle.py |
 | lldb/test/API/commands/settings/TestSettings.py |
 | lldb/test/API/macosx/macCatalystAppMacOSFramework/TestMacCatalystAppWithMacOSFramework.py |
 | lldb/test/API/commands/process/attach-resume/TestAttachResume.py |
 | lldb/test/API/python_api/watchpoint/TestSetWatchpoint.py |
 | lldb/test/API/macosx/function-starts/TestFunctionStarts.py |
 | lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py |
 | lldb/test/API/python_api/disassemble-raw-data/TestDisassemble_VST1_64.py |
 | lldb/test/API/python_api/process/io/TestProcessIO.py |
 | lldb/test/API/functionalities/deleted-executable/TestDeletedExecutable.py |
 | lldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommandsFromPython.py |
 | lldb/test/API/functionalities/reproducers/fs-case-sensitivity/TestReproducerFSCaseSensitivity.py |
 | lldb/test/API/commands/platform/process/list/TestProcessList.py |
Commit
cb2e6518000c7e1c5c2244592457afe4a97827e7
by antiagainst[mlir][linalg] Fix incorrect bound calculation for tiling conv
For convolution, the input window dimension's access affine map is of the form `(d0 * s0 + d1)`, where `d0`/`d1` is the output/ filter window dimension, and `s0` is the stride.
When tiling, https://reviews.llvm.org/D109267 changed how the way dimensions are acquired. Instead of directly querying using `*.dim` ops on the original convolution op, we now get it by applying the access affine map to the loop upper bounds. This is fine for dimensions having single-dimension affine maps, like matmul, but not for convolution input. It will cause incorrect compuation and out of bound. A concrete example, say we have 1x225x225x3 (NHWC) input, 3x3x3x32 (HWCF) filter, and 1x112x112x3 (NHWC) output with stride 2, (112 * 2 + 3) would be 227, which is different from the correct input window dimension size 225.
Instead, we should first calculate the max indices for each loop, and apply the affine map to them, and then plus one to get the dimension size. Note this makes no difference for matmul-like ops given they will have `d0 - 1 + 1` effectively.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D110849
|
 | mlir/lib/Dialect/Linalg/Utils/Utils.cpp |
 | mlir/test/Dialect/Linalg/tile-and-fuse-tensors.mlir |
 | mlir/test/Dialect/Linalg/tile-conv.mlir |
 | mlir/test/Dialect/Linalg/tile-and-fuse-on-tensors.mlir |
 | mlir/test/Dialect/Linalg/tile-simple-conv.mlir |
Commit
faa1842875f1dcd241c6b0feab7d684eb97fefc4
by pklausler[flang] Front-end and runtime support for CALL EXIT and ABORT
Support the extension intrinsic subroutines EXIT([status]) and ABORT() in the intrinsic table and runtime support library. Lowering remains to be done.
Differential Revision: https://reviews.llvm.org/D110741
|
 | flang/include/flang/Runtime/stop.h |
 | flang/unittests/Runtime/RuntimeCrashTest.cpp |
 | flang/lib/Evaluate/intrinsics.cpp |
 | flang/runtime/stop.cpp |
 | flang/docs/Extensions.md |
Commit
138dc27186bed4565584387fc49d88b235a1e2ed
by haoweiRevert "[libc++][libc++abi] Add tests for vendor-specific properties"
This reverts commit 9892d1644f62cf8f5133ee0d2ebafb56f6500cc1, which causes clang test failures in libcxx tests.
|
 | libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/default.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.search/func.search.bm/default.pass.cpp |
 | libcxxabi/test/vendor/apple/system-install-properties.sh.cpp |
 | libcxx/cmake/caches/Apple.cmake |
 | libcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp |
 | libcxx/test/std/utilities/charconv/charconv.to.chars/integral.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp |
 | libcxx/test/configs/llvm-libc++-shared.cfg.in |
 | libcxx/test/std/utilities/charconv/charconv.from.chars/integral.bool.fail.cpp |
 | libcxx/test/std/utilities/charconv/charconv.from.chars/integral.roundtrip.pass.cpp |
 | libcxx/utils/libcxx/test/config.py |
 | libcxx/test/configs/llvm-libc++-static.cfg.in |
 | libcxx/test/std/strings/c.strings/cuchar.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp |
 | libcxx/test/libcxx/vendor/apple/system-install-properties.sh.cpp |
 | libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp |
 | libcxx/test/configs/legacy.cfg.in |
 | libcxx/test/std/utilities/charconv/charconv.to.chars/integral.bool.fail.cpp |
 | libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp |
 | libcxx/utils/libcxx/test/params.py |
 | libcxx/test/std/utilities/charconv/charconv.from.chars/integral.pass.cpp |
 | libcxxabi/test/lit.site.cfg.in |
Commit
6714e1ce3b5ec02af2f9ab878bd10d273f02aa7e
by Louis Dionne[libc++abi][NFCI] Consistently group new_handler, unexpected_handler and terminate_handler
Previously, the definitions of __cxa_terminate_handler and __cxa_unexpected_handler (and their set_xxx_handler functions) were grouped together, but the definition of __cxa_new_handler wasn't. This commit simply moves those to the same file to treat all handlers consistently.
|
 | libcxxabi/src/cxa_handlers.cpp |
 | libcxxabi/src/cxa_default_handlers.cpp |
Commit
fa32fd3bf7c070e62487e5ccba00557d57b2ee5c
by thakis[clang] Remove duplication in types::getCompilationPhases()
Call Driver::getFinalPhase() instead of duplicating it.
https://reviews.llvm.org/D65993 added the duplication, then 02e35832c301e maded it more obviously a copy of getFinalPhase().
The only difference is that getCompilationPhases() used to use LastPhase / IfsMerge where getFinalPhase() used Link. Adapt getFinalPhase() to return IfsMerge when needed.
No intentional behavior change.
Differential Revision: https://reviews.llvm.org/D110770
|
 | clang/include/clang/Driver/Types.h |
 | clang/include/clang/Driver/Phases.h |
 | clang/include/clang/Driver/Driver.h |
 | clang/lib/Driver/Driver.cpp |
 | clang/lib/Driver/Types.cpp |
Commit
dbaa40833693e79a8fcbea6435eb3b0becfd67ad
by zequanwu[clang] do not emit note for bad conversion when destination type qualifiers are not compatibly include source type qualifiers
llvm.org/PR52014
Differential Revision: https://reviews.llvm.org/D110780
|
 | clang/lib/Sema/SemaInit.cpp |
 | clang/test/SemaCXX/pointer-forward-declared-class-conversion.cpp |
Commit
8dfbe9b0aeb6d45975d453dfed828068c63c225e
by thakis[clang] Make crash reproducer work with clang-cl
When clang crashes, it writes a standalone source file and shell script to reproduce the crash.
The Driver used to set `Mode = CPPMode` in generateCompilationDiagnostics() to force preprocessing mode. This has the side effect of making IsCLMode() return false, which in turn meant Clang::AddClangCLArgs() didn't get called when creating the standalone source file, which meant the stand-alone file was preprocessed with the gcc driver's defaults In particular, exceptions default to on with the gcc driver, but to off with the cl driver. The .sh script did use the original command line, so in the reproducer for a clang-cl crash, the standalone source file could contain exception-using code after preprocessing that the compiler invocation in the shell script would then complain about.
This patch removes the `Mode = CPPMode;` line and instead additionally checks for `CCGenDiagnostics` in most places that check `CCCIsCPP(). This also matches the strategy Clang::ConstructJob() uses to add -frewrite-includes for creating the standalone source file for a crash report.
Fixes PR52007.
Differential Revision: https://reviews.llvm.org/D110783
|
 | clang/lib/Driver/Driver.cpp |
 | clang/test/Driver/crash-report-clang-cl.c |
 | clang/test/Driver/crash-report.c |
 | clang/test/Driver/crash-report.cpp |
 | clang/test/Driver/crash-report-clang-cl.cpp |
Commit
691814f9cc79ff3b63cb53946a88c4db9c1f048d
by pklausler[flang] Fix test regression from SQRT folding
The algorithm used to fold SQRT has some holes that led to test failures; debug and add more tests.
Differential Revision: https://reviews.llvm.org/D110744
|
 | flang/lib/Evaluate/real.cpp |
 | flang/test/Evaluate/folding28.f90 |
Commit
76902079e42958118f01b4550d68a9b54c9e8e7e
by aeubanks[clang] Don't modify OptRemark if the argument is not relevant
A followup to D110201.
For example, we'd set OptimizationRemarkMissed's Regex to '.*' when encountering -Rpass. Normally this doesn't actually affect remarks we emit because in clang::ProcessWarningOptions() we'll separately look at all -R arguments and turn on/off corresponding diagnostic groups. However, this is reproducible with -round-trip-args.
Reviewed By: JamesNagurne
Differential Revision: https://reviews.llvm.org/D110673
|
 | clang/test/Frontend/optimization-remark.c |
 | clang/lib/Frontend/CompilerInvocation.cpp |
Commit
218954865ebee18d3d3f119a8579b9c1a6396c0b
by 2998727+wrengr[mlir][sparse] Correcting a few typos
Reviewed By: aartbik
Differential Revision: https://reviews.llvm.org/D110773
|
 | mlir/lib/ExecutionEngine/SparseUtils.cpp |
 | mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp |
Commit
b989211d7db6bcc64bb9148bfb80bab4ebb6887e
by nikita.ppv[BasicAA] Move more extension logic into ExtendedValue (NFC)
Add methods to appropriately extend KnownBits/ConstantRange there, same as with APInt. Also clean up the known bits handling by actually doing that extension rather than checking ZExtBits. This doesn't matter now, but becomes relevant once truncation is involved.
|
 | llvm/lib/Analysis/BasicAliasAnalysis.cpp |
Commit
e31899c7080f93c3d86b492af5f6bc9c3a1d1105
by thakisReland "[clang-cl] Accept `#pragma warning(disable : N)` for some N"
This reverts commit 0cd9d8a48bdddb17de2c6388f9d775353f9acab9 and adds the changes described in https://reviews.llvm.org/D110668#3034461.
|
 | clang/lib/Basic/DiagnosticIDs.cpp |
 | clang/lib/Basic/Diagnostic.cpp |
 | clang/test/Sema/pragma-warning.cpp |
 | clang/include/clang/Basic/DiagnosticCategories.h |
 | clang/test/Driver/cl-options.c |
 | clang/lib/Basic/CMakeLists.txt |
 | clang/include/clang/Basic/Diagnostic.h |
 | clang/lib/Basic/CLWarnings.cpp |
 | clang/lib/Lex/Pragma.cpp |
 | clang/utils/TableGen/ClangDiagnosticsEmitter.cpp |
 | clang/tools/diagtool/DiagnosticNames.cpp |
 | llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/include/clang/Driver/Options.td |
 | clang/include/clang/Basic/DiagnosticGroups.td |
 | clang/include/clang/Basic/CLWarnings.h |
 | clang/include/clang/Basic/DiagnosticIDs.h |
 | clang/lib/Driver/ToolChains/Clang.cpp |
Commit
66c069d7d626259d354c6fdac6b7d309b7963ed2
by spatel[InstCombine] add tests for shift-trunc-shift; NFC
|
 | llvm/test/Transforms/InstCombine/shift-shift.ll |
Commit
3fcb00df5dbfa63844db148bd6877d865a930400
by spatel[InstCombine] restrict shift-trunc-shift fold to opposite direction shifts
This is NFCI because the pattern with 2 left-shifts should get folded independently by smaller folds.
The motivation is to refine this block to avoid infinite loops seen with D110170.
|
 | llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp |
Commit
82568675087eebbe4f1c5c56f40969c43a738b83
by pklausler[flang] Fold FINDLOC()
Fold the transformational intrinsic function FINDLOC() for all combinations of optional arguments and data types.
Differential Revision: https://reviews.llvm.org/D110757
|
 | flang/lib/Evaluate/constant.cpp |
 | flang/lib/Evaluate/fold-integer.cpp |
 | flang/lib/Evaluate/fold-character.cpp |
 | flang/lib/Evaluate/fold-logical.cpp |
 | flang/lib/Evaluate/fold-reduction.cpp |
 | flang/lib/Evaluate/shape.cpp |
 | flang/include/flang/Parser/provenance.h |
 | flang/lib/Evaluate/fold-reduction.h |
 | flang/test/Evaluate/folding30.f90 |
 | flang/include/flang/Evaluate/constant.h |
Commit
80f4bb5c61930c51b2eac6c5575198516483eff1
by Amara Emerson[GlobalISel] Extend G_SELECT of known condition combine to vectors.
Adds a new utility function: isConstantOrConstantSplatVector().
Differential Revision: https://reviews.llvm.org/D110786
|
 | llvm/include/llvm/CodeGen/GlobalISel/Utils.h |
 | llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir |
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |
 | llvm/lib/CodeGen/GlobalISel/Utils.cpp |
 | llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h |
Commit
4195ed995993410b4a8ba2835fee71d4fe01c410
by albionapc[PowerPC] Improved codegen related to xscvdpsxws/xscvdpuxws
This patch removes the uneccessary mf/mtvsr generated in conjunction with xscvdpsxws/xscvdpuxws.
Differential revision: https://reviews.llvm.org/D109902
|
 | llvm/test/CodeGen/PowerPC/vec_conv_fp64_to_i32_elts.ll |
 | llvm/lib/Target/PowerPC/PPCInstrVSX.td |
 | llvm/test/CodeGen/PowerPC/test-vector-insert.ll |
Commit
050edef8538e82264928ddf1840e785f1544ca7f
by rafaelauler[MC] Make MCDwarfLineStr class public
Add MCDwarfLineStr class to the public API.
Note that MCDwarfLineTableHeader::Emit(), takes MCDwarfLineStr as an Optional<> parameter making it impossible to use the API if the class is not publicly defined.
Reviewed By: alexander-shaposhnikov
Differential Revision: https://reviews.llvm.org/D109412
|
 | llvm/include/llvm/MC/MCDwarf.h |
 | llvm/unittests/MC/CMakeLists.txt |
 | llvm/unittests/MC/DwarfLineTableHeaders.cpp |
 | llvm/lib/MC/MCDwarf.cpp |
Commit
0337e228c1b4d25e4dc617883ac4ba60efa5fd8b
by llvmgnsyncbot[gn build] Port 050edef8538e
|
 | llvm/utils/gn/secondary/llvm/unittests/MC/BUILD.gn |
Commit
d81723c99bda9594be50831efc7e84ea36cbd4e0
by browneee[DFSan] Optimize code for writing to shadow. Move SetShadow to namespace.
Writing zeros to shadow (including checking for existing zero) is now ~2x faster on one example.
Reviewed By: morehouse
Differential Revision: https://reviews.llvm.org/D110733
|
 | compiler-rt/lib/dfsan/dfsan.cpp |
Commit
1fbdbb559569641f6d509b569966901c8fb02b63
by floRevert "Recommit "[SCEV] Look through single value PHIs." (take 2)"
This reverts commit 764d9aa97905f202385b4f25f8d234630b4feef3.
This patch exposed a few additional cases where SCEV expressions are not properly invalidated.
See PR52024, PR52023.
|
 | llvm/test/Transforms/LoopStrengthReduce/funclet.ll |
 | llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll |
 | llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
 | llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll |
 | llvm/test/Transforms/LoopVectorize/pr45259.ll |
 | llvm/test/Analysis/DependenceAnalysis/lcssa.ll |
 | llvm/test/Analysis/ScalarEvolution/cycled_phis.ll |
Commit
2443320d68387c83c9d13ffb5e5de44c2159125c
by Jinsong Ji[AIX] Rename binder option for PGO support
Update the binder option.
|
 | clang/lib/Driver/ToolChains/AIX.cpp |
Commit
b016bd12302799409eb94b0da0cb9c5bdc85a343
by nicolas.vasilache[mlir][Linalg] Refactor comprehensive bufferize for external uses - NFC
This revision exposes some minimal funcitonality to allow comprehensive bufferization to interop with external projects.
Differential Revision: https://reviews.llvm.org/D110875
|
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
 | mlir/include/mlir/Dialect/Linalg/Transforms/ComprehensiveBufferize.h |
Commit
2df2b27d94f92680e810e6763ed032fd2dfcfe11
by aschwaighofer[cora async] Cleanup undefined llvm.coro.async.resume
In situations where the coroutine function is not split we can just replace the async.resume by null.
rdar://82591919
Differential Revision: https://reviews.llvm.org/D110191
|
 | llvm/lib/Transforms/Coroutines/Coroutines.cpp |
 | llvm/lib/Transforms/Coroutines/CoroCleanup.cpp |
 | llvm/test/Transforms/Coroutines/coro-async.ll |
Commit
b75a7481baad7657b27e54b79fec4f5e6cd4cc7a
by jonathanchesterfield[libomptarget] Apply D110029 to amdgpu
Use enum for execution mode.
This is partly a port from ROCm and partly a port from D110029. Attempted to make the same choices as ROCm as far as comments etc go to reduce the merge conflicts.
There is some cleanup warranted here - in particular I like the cuda patch factoring out the comparisons into named variables - but I'd like to leave that for a follow up patch, keeping this one minimal.
Reviewed By: carlo.bertolli
Differential Revision: https://reviews.llvm.org/D110845
|
 | openmp/libomptarget/plugins/amdgpu/src/rtl.cpp |
Commit
32473291072504f306f8d1f20db460b15e395f7c
by jonathanchesterfield[openmp] Add addrspacecast to getOrCreateIdent
Fixes 51982. Adds a missing CreatePointerCast and allocates a global in the correct address space.
Test case derived from https://github.com/ROCm-Developer-Tools/aomp/\ blob/aomp-dev/test/smoke/nest_call_par2/nest_call_par2.c by deleting parts while checking the assertion failure still occurred.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D110556
|
 | openmp/libomptarget/test/offloading/bug51982.c |
 | llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp |
Commit
72e7e15a120c149c2784f92056a47451670dc5fc
by smeenai[compiler-rt] Add -fno-omit-frame-pointer check to builtins
rG210d72e9d6b4a8e7633921d0bd7186fd3c7a2c8c moved the check from builtin-config-ix to config-ix so that the check would be made even when the builtins are not built. However, now the check is no longer made when the builtins are built standalone which causes the builtins to fail to build.
Add the check back to builtins-config-ix so that the check gets performed both when the builtins are not built, and when they are built standalone.
Reviewed By: smeenai
Differential Revision: https://reviews.llvm.org/D110879
|
 | compiler-rt/cmake/builtin-config-ix.cmake |
Commit
0c4a75f193a7eab8aff06e84bb4cd90e2af3c014
by phosek[CMake] Remove the LLD LTO check for Darwin
LLD now supports LTO on Darwin.
Differential Revision: https://reviews.llvm.org/D110881
|
 | llvm/cmake/modules/HandleLLVMOptions.cmake |
Commit
cf1f5fbdfcf516c6ee2617a21b004b575c9c521b
by jperier[flang][NFC] Fix header comments in some runtime headers
Differential Revision: https://reviews.llvm.org/D110850
|
 | flang/include/flang/Runtime/allocatable.h |
 | flang/include/flang/Runtime/entry-names.h |
Commit
72e8a4c45da3b64d7e388e8ed4b739276fd4e8dd
by jonathanchesterfield[openmp][docs] Describe how the internal components are found
Add a FAQ entry about the names of openmp offloading components and how they are searched for.
Reviewed By: jhuber6
Differential Revision: https://reviews.llvm.org/D109619
|
 | openmp/docs/SupportAndFAQ.rst |
Commit
962e503cc8bc411f7523cc393acae8aae425b1c4
by jperier[flang] Take into account SubprogramDetails in GetInterfaceSymbol
When the ProcRef is Symbol is a SubprogramDetails, the interface is the SubprogramDetails. Do not return nullptr.
Differential Revision: https://reviews.llvm.org/D110853
|
 | flang/lib/Evaluate/call.cpp |
Commit
a21c557955c6ea5cd02b9a145ad6469c608446c7
by craig.topper[RISCV] Remove Zbproposedc extension
This consists of 3 compressed instructions, c.not, c.neg, and c.zext.w. I believe these have been picked up by the Zce effort using different encodings. I don't think it makes sense to keep them in bitmanip. It will eventually cause a conflict if/when Zce is implemented in llvm.
Differential Revision: https://reviews.llvm.org/D110871
|
 | llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp |
 | llvm/lib/Target/RISCV/RISCVSubtarget.h |
 | llvm/test/MC/RISCV/rv64zbproposedc-invalid.s |
 | llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp |
 | clang/lib/Basic/Targets/RISCV.h |
 | llvm/lib/Target/RISCV/RISCVInstrInfoB.td |
 | clang/lib/Basic/Targets/RISCV.cpp |
 | llvm/test/MC/RISCV/rv32zbproposedc-invalid.s |
 | clang/test/Preprocessor/riscv-target-features.c |
 | llvm/test/MC/RISCV/rv64zbproposedc-valid.s |
 | llvm/test/MC/RISCV/attribute-arch.s |
 | llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp |
 | llvm/test/MC/RISCV/compress-rv64b.s |
 | llvm/test/CodeGen/RISCV/attributes.ll |
 | llvm/test/MC/RISCV/rv32zbproposedc-valid.s |
 | clang/lib/Driver/ToolChains/Arch/RISCV.cpp |
 | llvm/lib/Target/RISCV/RISCV.td |
 | llvm/test/MC/RISCV/compress-rv32b.s |
Commit
fdcbb540fc5ffbf5faa03c2f10fa88ca2c38f845
by jperier[flang][NFC] Add debug dump method to evaluate::Expr and semantics::Symbol
Helps debugging when working with symbol/expression issue. The dump method is easy to call in the debugger.
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Differential Revision: https://reviews.llvm.org/D110856
|
 | flang/lib/Semantics/symbol.cpp |
 | flang/lib/Evaluate/expression.cpp |
 | flang/include/flang/Evaluate/expression.h |
 | flang/include/flang/Semantics/symbol.h |
Commit
ca8316b7048d2554e8a4bdd5af1c27af5418dfd3
by Amara Emerson[GlobalISel] Extend CombinerHelper::matchConstantOp() to match constant splat vectors.
This allows the "x op 0 -> x" fold to optimize vector constant RHSs.
Differential Revision: https://reviews.llvm.org/D110802
|
 | llvm/test/CodeGen/AArch64/GlobalISel/combine-mul.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir |
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |
Commit
c82f98ba4c7038dfd7bc912c1fed891e4ff34818
by rafaelauler[MC] Fix buildbots with shared lib builds
In D109412 I forgot to add a dependency on libObject. Fix that.
Reviewed By: maksfb
Differential Revision: https://reviews.llvm.org/D110886
|
 | llvm/unittests/MC/CMakeLists.txt |
Commit
0d8bdc17862e1c80edf1223282af3be786da4882
by tejohnson[MemProf] Record accesses for all words touched in mem intrinsic
Previously for mem* intrinsics we only incremented the access count for the first word in the range. However, after thinking it through I think it makes more sense to record an access for every word in the range. This better matches the behavior of inlined memory intrinsics, and also allows better analysis of utilization at a future date.
Differential Revision: https://reviews.llvm.org/D110799
|
 | compiler-rt/lib/memprof/memprof_rtl.cpp |
 | compiler-rt/test/memprof/TestCases/unaligned_loads_and_stores.cpp |
 | compiler-rt/test/memprof/TestCases/test_memintrin.cpp |
Commit
c5e491e6ee95ac0243b38b4aa85b627e7d9fc969
by listmail[SCEV] Modernize code style of isSCEVExprNeverPoison [NFC]
Use for-range and all_of to make code easier to read in advance of other changes.
|
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
9f641c96cb15c9752c976bff286bb57adf86acab
by leonardchan[libcxx][test] Use python specified by build rather than system default python
As of e9564c3698edffc64439a8f957c7c28b19214613, libcxx/gdb/gdb_pretty_printer_test.sh.cpp fails locally for me because the REQUIRES check for host-has-gdb-with-python uses python, which for me expands to python 2.7.18. This failure does not seem to be caught on any upstream builders, potentially because they don't have gdb, python, or a version of python that makes the test UNSUPPORTED (like python3).
This updates the check to use the python specified by the build (which should be the python that runs this code), rather than just python.
Differential Revision: https://reviews.llvm.org/D110887
|
 | libcxx/utils/libcxx/test/features.py |
Commit
bdb5aa65b1b557865a64860121c9376937e30984
by listmail[test] Add tests covering a missing opt in SCEV's isSCEVExprNeverPoison
|
 | llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll |
Commit
3562ad3ebeb29d0cf320bfcf51f64372e9b37c95
by yhsBPF: implement isLegalAddressingMode() properly
Latest upstream llvm caused the kernel bpf selftest emitting the following warnings:
In file included from progs/profiler3.c:6: progs/profiler.inc.h:489:2: warning: loop not unrolled: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering [-Wpass-failed=transform-warning] for (int i = 0; i < MAX_PATH_DEPTH; i++) { ^
Further bisecting shows this SimplifyCFG patch ([1]) changed the condition on how to fold branch to common dest. This caused some unroll pragma is not honored in selftests/bpf.
The patch [1] test getUserCost() as the condition to perform the certain basic block folding transformation. For the above example, before the loop unroll pass, the control flow looks like: cond_block: branch target: body_block, cleanup_block body_block: branch target: cleanup_block, end_block end_block: branch target: cleanup_block, end10_block end10_block: %add.ptr = getelementptr i8, i8* %payload.addr.0, i64 %call2 %inc = add nuw nsw i32 %i.0, 1 branch target: cond_block
In the above, %call2 is an unknown scalar.
Before patch [1], end10_block will be folded into end_block, forming the code like cond_block: branch target: body_block, cleanup_block body_block: branch target: cleanup_block, end_block end_block: branch target: cleanup_block, cond_block and the compiler is happy to perform unrolling.
With patch [1], getUserCost(), which calls getGEPCost(), which calls isLegalAddressingMode() in TargetLoweringBase.cpp, considers IR %add.ptr = getelementptr i8, i8* %payload.addr.0, i64 %call2 is free, so the above basic block folding transformation is not performed and unrolling does not happen.
For BPF target, the IR %add.ptr = getelementptr i8, i8* %payload.addr.0, i64 %call2 is not free and we don't have ld/st instruction address with 'r+r' mode.
This patch implemented a BPF hook for isLegalAddressingMode(), which is identical to Mips isLegalAddressingMode() implementation where the address pattern like 'r+r', 'r+r+i' or '2*r' are not allowed. With testing kernel bpf selftests, all loop not unrolled warnings are gone and all selftests run successfully.
[1] https://reviews.llvm.org/D108837
Differential Revision: https://reviews.llvm.org/D110789
|
 | llvm/lib/Target/BPF/BPFISelLowering.h |
 | llvm/lib/Target/BPF/BPFISelLowering.cpp |
Commit
5c3568d01faac3202db5d7db4735f524f9cabf7e
by Vitaly Buka[NFC][sanitizer] Add const into method
|
 | compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.h |
Commit
91bfccf83733e6d12a6da9f2e1a2d20a88fb974c
by zijunzhaoadd tsan shared library
|
 | compiler-rt/lib/tsan/CMakeLists.txt |
 | compiler-rt/test/tsan/CMakeLists.txt |
 | compiler-rt/cmake/config-ix.cmake |
Commit
3077bc90de8df633d59fe30c2a2aa265d68fb987
by ctetreau[NFC] Restore magic and magicu to a globally visible location
While these functions are only used in one location in upstream, it has been reused in multiple downstreams. Restore this file to a globally visibile location (outside of APInt.h) to eliminate donwstream breakage and enable potential future reuse.
Additionally, this patch renames types and cleans up clang-tidy issues.
|
 | llvm/lib/Support/DivisionByConstantInfo.cpp |
 | llvm/include/llvm/Support/DivisionByConstantInfo.h |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/lib/Support/CMakeLists.txt |
Commit
fcdefc8575866a36e80e91024b876937ae6a9965
by llvmgnsyncbot[gn build] Port 3077bc90de8d
|
 | llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn |
Commit
548aa9022ee79a95a07b99a88df28cee6cb0e16d
by Vitaly Buka[NFC][sanitizer] Lazy init in StackDepotReverseMap
|
 | compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cpp |
Commit
051d766baed276359df58302c9f7eb1c2d6c2c00
by Vitaly Buka[NFC][lsan] Expand use StackDepotReverseMap
Before StackDepotReverseMap was used only by ProcessPC.
|
 | compiler-rt/lib/lsan/lsan_common.cpp |
 | compiler-rt/lib/lsan/lsan_common.h |
Commit
d2df5ce294cbaf3fe69e59e219cd8741e6185ed9
by Vitaly Buka[NFC][asan] Remove redundant functions
|
 | compiler-rt/lib/asan/asan_allocator.cpp |
 | compiler-rt/lib/asan/asan_debugging.cpp |
 | compiler-rt/lib/asan/asan_allocator.h |
Commit
29bb877499ce328f8f4a5d61e9bae94e5f97f908
by albionapc[PowerPC] Fix lharx and lbarx builtin signatures
The signatures for the PowerPC builtins lharx and lbarx are incorrect, and causes issues when used in a function that requires the return of the builtin to be promoted. This patch fixes these signatures.
Differential revision: https://reviews.llvm.org/D110273
|
 | clang/test/CodeGen/builtins-ppc-xlcompat-LoadReseve-StoreCond.c |
 | clang/include/clang/Basic/BuiltinsPPC.def |
Commit
16661b1a3c4c93959d87079a659615b4635e17c2
by dblaikieExpose `DIBuilder::finalizeSubprogram()` through the LLVM C API
The LLVM C API function is called `LLVMDIBuilderFinalizeSubprogram()`.
Reviewed By: CodaFi
Differential Revision: https://reviews.llvm.org/D104794
|
 | llvm/include/llvm-c/DebugInfo.h |
 | llvm/lib/IR/DebugInfo.cpp |
Commit
d047368149dc3084774db618051346c045a2f645
by tejohnson[MemProf] Loosen matching of profile data to avoid bot flakes
Allow for the allocations to have migrated cpus, assuming they wouldn't is causing some bot flakiness, e.g.: https://lab.llvm.org/buildbot/#/builders/37/builds/7197
|
 | compiler-rt/test/memprof/TestCases/test_new_load_store.cpp |
 | compiler-rt/test/memprof/TestCases/test_malloc_load_store.c |