Commit
3519dcfec22963fbb84e154cecc2df22e6c7724f
by neelam.nimishAdded OpenMP 5.0 specification based semantic checks for atomic update construct
|
 | flang/lib/Semantics/check-omp-structure.h |
 | flang/test/Semantics/omp-atomic04.f90 |
 | flang/lib/Semantics/check-omp-structure.cpp |
 | flang/test/Semantics/omp-atomic05.f90 |
 | flang/test/Semantics/omp-atomic01.f90 |
 | flang/test/Semantics/omp-atomic02.f90 |
 | flang/test/Semantics/omp-atomic03.f90 |
Commit
670a721de2a19d0307ceea47349fd9e986a8484f
by marek.kurdej+llvm.org[clang-format] Assert Line->First. NFC.
Cf. scan-build reports: * https://llvm.org/reports/scan-build/report-AffectedRangeManager.cpp-nonPPLineAffected-34-16c04b.html#EndPath * https://llvm.org/reports/scan-build/report-SortJavaScriptImports.cpp-parseModuleReferences-34-96a7f8.html#EndPath * https://llvm.org/reports/scan-build/report-TokenAnnotator.cpp-setCommentLineLevels-26-77bdba.html#EndPath * https://llvm.org/reports/scan-build/report-AffectedRangeManager.cpp-nonPPLineAffected-31-714434.html#EndPath * https://llvm.org/reports/scan-build/report-TokenAnnotator.cpp-setCommentLineLevels-16-bd39d0.html#EndPath * https://llvm.org/reports/scan-build/report-UnwrappedLineFormatter.cpp-format-90-668b2d.html#EndPath
|
 | clang/lib/Format/UnwrappedLineFormatter.cpp |
 | clang/lib/Format/AffectedRangeManager.cpp |
 | clang/lib/Format/SortJavaScriptImports.cpp |
 | clang/lib/Format/TokenAnnotator.cpp |
Commit
f533011252578f67a9615fb4ef56dc1ef555551b
by jim[Hexagon] Use llvm::Register instead of unsigned in HexagonConstExtenders.cpp. NFC.
Reviewed By: kparzysz
Differential Revision: https://reviews.llvm.org/D117851
|
 | llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp |
Commit
d6f8f56da04b2e975110c4a5ae15f00a22164e62
by l.chelini[MLIR][Presburger] Silence -Wdangling-else warning (NFC)
gcc suggests explicit braces to avoid ambiguous ‘else’.
|
 | mlir/unittests/Analysis/Presburger/IntegerPolyhedronTest.cpp |
Commit
81793bd276afefea0e525307676181478fc614c9
by marek.kurdej+llvm.org[clang-format] Assert Line->First and State.NextToken->Previous. NFC.
Cf. scan-build reports: * https://llvm.org/reports/scan-build/report-FormatToken.cpp-precomputeFormattingInfos-35-93e1e1.html#EndPath * https://llvm.org/reports/scan-build/report-ContinuationIndenter.cpp-addTokenOnCurrentLine-15-dfdc6d.html#EndPath
|
 | clang/lib/Format/ContinuationIndenter.cpp |
 | clang/lib/Format/FormatToken.cpp |
Commit
9aaa74aeeff37b85e29369287ee94773e699b8b7
by ben.shi[RISCV] Add patterns of SET[U]LT_VI for STECC forms
This patch optmizes "li a0, 5 vmsgt[u].vx v10, v8, a0" -> "vmsgt[u].vi v10, v8, 5"
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D118014
|
 | llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-setcc.ll |
Commit
ba845787b3fdd03380b8651d6ce11afeac9d6bba
by tbaeder[clang][sema] Add missing diagnostic parameter
The test case otherwise fails an assertion in Diagnostic::getArgKind().
Differential Revision: https://reviews.llvm.org/D116595
|
 | clang/lib/Sema/SemaModule.cpp |
 | clang/test/Modules/cxx20-export-import.cpp |
Commit
3ad6de31c0cf5064867e6f9bf99e27e0b5c4128d
by tbaeder[clang][tests] Fix a c++/libc++ -stdlib value typo
"c++" is not usually a valid value for -stdlib.
Differential Revision: https://reviews.llvm.org/D117862
|
 | clang/test/Driver/wasm-toolchain.cpp |
Commit
d29e319263de17516f50cd46edbf1e62c1289dd4
by npopov[OpaquePtrs] Add getNonOpaquePointerElementType() method (NFC)
This method is intended for use in places that cannot be reached with opaque pointers, or part of deprecated methods. This makes it easier to see that some uses of getPointerElementType() don't need further action.
Differential Revision: https://reviews.llvm.org/D117870
|
 | llvm/include/llvm/IR/Type.h |
 | llvm/lib/IR/Core.cpp |
 | llvm/lib/Transforms/Coroutines/Coroutines.cpp |
 | llvm/lib/Transforms/Scalar/SROA.cpp |
 | llvm/lib/AsmParser/LLParser.cpp |
Commit
67346b43e0ed28047b3a4e40ea18d2218febcbf8
by npopov[Attributor] Use MemoryLocation to get pointer operand and accessed type (NFCI)
This relies on existing APIs and avoids accessing the pointer element type. The alternative would be to extend getPointerOperand() to also return the accessed type, but I figured going through MemoryLocation would be cleaner.
Differential Revision: https://reviews.llvm.org/D117868
|
 | llvm/lib/Transforms/IPO/AttributorAttributes.cpp |
Commit
7ccacaf4428d1712029594184baa6f617a51c340
by andrzej.warzynski[flang][examples] Add missing CMake dependencies
Currently, everything that includes "flang/Parser/parse-tree.h" in Flang depends on the `gen_acc` and `gen_omp` CMake targets (these targets generate include files that are used in "parse-tree.h"). The examples in Flang do use this header file and hence also depend on `gen_acc`/`gen_omp`. This patch updates relevant CMake scripts accordingly.
I've also taken the liberty to rename some of the example files so that their names follow LLVM's coding guidelines.
Differential Revision: https://reviews.llvm.org/D117016
|
 | flang/examples/flang-omp-report-plugin/flang-omp-report.cpp |
 | flang/examples/flang-omp-report-plugin/flang-omp-report-visitor.h |
 | flang/examples/FlangOmpReport/requirements.txt |
 | flang/examples/flang-omp-report-plugin/CMakeLists.txt |
 | flang/examples/CMakeLists.txt |
 | flang/examples/FlangOmpReport/FlangOmpReportVisitor.h |
 | flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp |
 | flang/examples/flang-omp-report-plugin/requirements.txt |
 | flang/examples/FlangOmpReport/yaml_summarizer.py |
 | flang/examples/PrintFlangFunctionNames/CMakeLists.txt |
 | flang/examples/FlangOmpReport/FlangOmpReport.cpp |
 | flang/examples/FlangOmpReport/CMakeLists.txt |
 | flang/examples/flang-omp-report-plugin/flang-omp-report-visitor.cpp |
 | flang/examples/flang-omp-report-plugin/yaml_summarizer.py |
Commit
4f8fdf78279f0cb298dc0dc215ee56b0342235ee
by sander.desmalen[ISEL] Canonicalise constant splats to RHS.
SelectionDAG::getNode() canonicalises constants to the RHS if the operation is commutative, but it doesn't do so for constant splat vectors. Doing this early helps making certain folds on vector types, simplifying the code required for target DAGCombines that are enabled before Type legalization.
Somewhat to my surprise, DAGCombine doesn't seem to traverse the DAG in a post-order DFS, so at the time of doing some custom fold where the input is a MUL, DAGCombiner::visitMUL hasn't yet reordered the constant splat to the RHS.
This patch leads to a few improvements, but also a few minor regressions, which I traced down to D46492. When I tried reverting this change to see if the changes were still necessary, I ran into some segfaults. Not sure if there is some latent bug there.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D117794
|
 | llvm/test/CodeGen/X86/hoist-and-by-const-from-shl-in-eqcmp-zero.ll |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
 | llvm/test/CodeGen/PowerPC/combine-fneg.ll |
 | llvm/test/CodeGen/X86/extractelement-fp.ll |
 | llvm/test/CodeGen/X86/fp-round.ll |
 | llvm/test/CodeGen/X86/pr43509.ll |
 | llvm/test/CodeGen/X86/unfold-masked-merge-vector-variablemask-const.ll |
 | llvm/test/CodeGen/PowerPC/repeated-fp-divisors.ll |
 | llvm/test/CodeGen/X86/dpbusd_const.ll |
 | llvm/test/CodeGen/AArch64/unfold-masked-merge-vector-variablemask-const.ll |
 | llvm/test/CodeGen/X86/fp128-cast.ll |
Commit
e7c9a6cae09d99388d8384ca7c0fb5b24b353975
by npopov[SDAG] Don't move DBG_VALUE instructions after insertion point during scheduling (PR53243)
EmitSchedule() shouldn't be touching instructions after the provided insertion point. The change introduced in D83561 performs a scan to the end of the block, and thus may move unrelated instructions. In particular, this ends up moving instructions that have been produced by FastISel and will later be deleted. Moving them means that more instructions than intended are removed.
Fix this by stopping the iteration when the insertion point is reached.
Fixes https://github.com/llvm/llvm-project/issues/53243.
Differential Revision: https://reviews.llvm.org/D117489
|
 | llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp |
 | llvm/test/CodeGen/X86/pr53243-tail-call-fastisel.ll |
Commit
0d1308a7b77c9ed87386c22a728a6c97e2fb4887
by npopov[AArch64][GlobalISel] Support returned argument with multiple registers
The call lowering code assumed that a returned argument could only consist of one register. Pass an ArrayRef<Register> instead of Register to make sure that all parts get assigned.
Fixes https://github.com/llvm/llvm-project/issues/53315.
Differential Revision: https://reviews.llvm.org/D117866
|
 | llvm/test/CodeGen/AArch64/pr53315-returned-i128.ll |
 | llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp |
 | llvm/lib/CodeGen/GlobalISel/CallLowering.cpp |
 | llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h |
Commit
a08447d0de5d85d915318ffd9ef3404363d02c64
by peter.smith[LLD][ELF][AArch64] Update test with incorrect REQUIRES line [NFC]
D54759 introduced aarch64-combined-dynrel.s and aarch64-combined-dynrel-ifunc.s . Unfortunately the requires line at the top was AArch64 instead of aarch64 which means they were never run. Update the tests to use aarch64 and fix to match current lld output.
Differential Revision: https://reviews.llvm.org/D117896
|
 | lld/test/ELF/aarch64-combined-dynrel.s |
 | lld/test/ELF/aarch64-combined-dynrel-ifunc.s |
Commit
906ebd5830e6053b50c52bf098e3586b567e8499
by jay.foad[AMDGPU][GlobalISel] Regenerate checks in inst-select-*ext.mir
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir |
Commit
aa50b93e7cf926dec5dd69920e6f48906ea8ad25
by jay.foad[AMDGPU][GlobalISel] Add more sign/zero/any-extension tests
Add s1 to s16 cases, and for sgprs s1 to s64 and s32 to s64.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir |
Commit
7d19566c3bfb3efacb629d18839e2d85761156ab
by david.spickett[lldb] Ignore non-address bits in "memory find" arguments
This removes the non-address bits before we try to use the addresses.
Meaning that when results are shown, those results won't show non-address bits either. This follows what "memory read" has done. On the grounds that non-address bits are a property of a pointer, not the memory pointed to.
I've added testing and merged the find and read tests into one file.
Note that there are no API side changes because "memory find" does not have an equivalent API call.
Reviewed By: omjavaid
Differential Revision: https://reviews.llvm.org/D117299
|
 | lldb/test/API/linux/aarch64/tagged_memory_access/Makefile |
 | lldb/test/API/linux/aarch64/tagged_memory_read/TestAArch64LinuxTaggedMemoryRead.py |
 | lldb/source/Commands/CommandObjectMemory.cpp |
 | lldb/test/API/linux/aarch64/tagged_memory_access/TestAArch64LinuxTaggedMemoryAccess.py |
 | lldb/test/API/linux/aarch64/tagged_memory_access/main.c |
 | lldb/test/API/linux/aarch64/tagged_memory_read/main.c |
 | lldb/test/API/linux/aarch64/tagged_memory_read/Makefile |
Commit
022600334dcb914d24230c6659487b2744af702b
by andrzej.warzynski[flang] Update the description of `!fir.coordinate_of`
This change was suggested in one of the comments for https://reviews.llvm.org/D115333. Basically, the following usage is valid, but the current wording suggests otherwise: ``` %1 = fir.coordinate_of %a, %k : (!fir.ref<!fir.array<10 x 10 x i32>>, index) -> !fir.ref<!fir.array<10 x i32>> ``` A test is also added to better document this particular case.
Differential revision: https://reviews.llvm.org/D115929
|
 | flang/test/Fir/convert-to-llvm.fir |
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
Commit
912af6b570d6f70e107e4ddf54bc85cb8b63cc70
by abinav.puthanpurayil[AMDGPU][GlobalISel] Remove the post ':' part of vreg operands in fsh combine tests.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-rot.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fsh.mir |
Commit
577a6dc9a1864fcc0e938052beae2a9b5362367a
by llvm-dev[X86] getVectorMaskingNode - fix indentation. NFC.
clang-format
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
e7926e8d972e8129d4b64e10a38719b066a526be
by fraser[RISCV] Match VF variants for masked VFRDIV/VFRSUB
This patch follows up on D117697 to help the simple binary operations behave similarly in the presence of masks.
It also enables CGP sinking support for vp.fdiv and vp.fsub intrinsics, now that VFRDIV and VFRSUB are consistently matched with a LHS splat for masked and unmasked variants.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D117783
|
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrdiv-vp.ll |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrsub-vp.ll |
 | llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll |
 | llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td |
Commit
af773a18181dc1a1e3846f518b2d44f2abbbdf87
by fraser[RISCV][VP] Lower VP_MERGE to RVV instructions
This patch adds lowering of the llvm.vp.merge.* intrinsic (ISD::VP_MERGE) to RVV vmerge/vfmerge instructions. It introduces a special pseudo form of vmerge which allows a tied merge operand, allowing us to specify the tail elements as being equal to the "on false" operand, using a tied-def constraint and a "tail undisturbed" policy.
While this strategy allows us to often lower the intrinsic to just one instruction, it may be less efficient in fixed-vector types as the number of tail elements may extend far beyond the length of the fixed vector. Another strategy could be to use a vmerge/vfmerge instruction with an AVL equal to the length of the vector type, and manipulate the condition operand such that mask elements greater than the operation's EVL are false.
I've also observed inefficient codegen in which our 'VF' patterns don't match raw floating-point SPLAT_VECTORs, which occur in scalable-vector code.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D117561
|
 | llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll |
 | llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll |
 | llvm/lib/Target/RISCV/RISCVISelLowering.h |
 | llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td |
Commit
3e6be0241b31265953d82bad0164d3e0c24cf9d7
by david.spickett[lldb] Update release notes with non-address bit handling changes
This adds the "memory find" (https://reviews.llvm.org/D117299) and "memory tag" (https://reviews.llvm.org/D117672) commands and puts them all in one list.
|
 | llvm/docs/ReleaseNotes.rst |
Commit
12a499eb00e36bb0944c6b1f7f8721fd90a5bd8f
by bjorn.a.petterssonPre-commit test case for trunc+lshr+load folds
This is a pre-commit of test cases relevant for D117406.
@srl_load_narrowing1 is showing a pattern that could be folded into a more narrow load.
@srl_load_narrowing2 is showing a similar pattern that happens to be optimized already, but that happens in two steps (first triggering a combine based on SRL and later another combine based on TRUNCATE).
Differential Revision: https://reviews.llvm.org/D117588
|
 | llvm/test/CodeGen/X86/shift-folding.ll |
Commit
46cacdbb21c221a4304c489cb4a1abbc51967bb1
by bjorn.a.pettersson[DAGCombiner] Adjust some checks in DAGCombiner::reduceLoadWidth
In code review for D117104 two slightly weird checks were found in DAGCombiner::reduceLoadWidth. They were typically checking if BitsA was a mulitple of BitsB by looking at (BitsA & (BitsB - 1)), but such a comparison actually only make sense if BitsB is a power of two.
The checks were related to the code that attempted to shrink a load based on the fact that the loaded value would be right shifted.
Afaict the legality of the value types is checked later (typically in isLegalNarrowLdSt), so the existing checks were both overly conservative as well as being wrong whenever ExtVTBits wasn't a power of two. The latter was a situation triggered by a number of lit tests so we could not just assert on ExtVTBIts being a power of two).
When attempting to simply remove the checks I found some problems, that seems to have been guarded by the checks (maybe just out of luck). A typical example would be a pattern like this:
t1 = load i96* ptr t2 = srl t1, 64 t3 = truncate t2 to i64
When DAGCombine is visiting the truncate reduceLoadWidth is called attempting to narrow the load to 64 bits (ExtVT := MVT::i64). Then the SRL is detected and we set ShAmt to 64.
In the past we've bailed out due to i96 not being a multiple of 64. If we simply remove that check then we would end up replacing the load with a new load that would read 64 bits but with a base pointer adjusted by 64 bits. So we would read 32 bits the wasn't accessed by the original load. This patch will instead utilize the fact that the logical left shift can be folded away by using a zextload. Thus, the pattern above will now be combined into
t3 = load i32* ptr+offset, zext to i64
Another case is shown in the X86/shift-folding.ll test case:
t1 = load i32* ptr t2 = srl i32 t1, 8 t3 = truncate t2 to i16
In the past we bailed out due to the shift count (8) not being a multiple of 16. Now the narrowing kicks in and we get
t3 = load i16* ptr+offset
Differential Revision: https://reviews.llvm.org/D117406
|
 | llvm/test/CodeGen/ARM/shift-combine.ll |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/X86/shift-folding.ll |
Commit
e5147f82e1cba6791252d8f44c1a014cd9ea7927
by llvm-dev[X86] Remove __builtin_ia32_pabs intrinsics and use generic __builtin_elementwise_abs
D111986 added the generic `__builtin_elementwise_abs()` intrinsic with the same integer absolute behaviour as the SSE/AVX instructions (abs(INT_MIN) == INT_MIN)
This patch removes the `__builtin_ia32_pabs*` intrinsics and just uses `__builtin_elementwise_abs` - the existing tests see no changes: ``` __m256i test_mm256_abs_epi8(__m256i a) { // CHECK-LABEL: test_mm256_abs_epi8 // CHECK: [[ABS:%.*]] = call <32 x i8> @llvm.abs.v32i8(<32 x i8> %{{.*}}, i1 false) return _mm256_abs_epi8(a); } ``` This requires us to add a `__v64qs` explicitly signed char vector type (we already have `__v16qs` and `__v32qs`).
Differential Revision: https://reviews.llvm.org/D117791
|
 | clang/lib/Headers/avx512fintrin.h |
 | clang/lib/CodeGen/CGBuiltin.cpp |
 | clang/lib/Headers/avx512vlintrin.h |
 | clang/lib/Headers/avx2intrin.h |
 | clang/lib/Headers/avx512bwintrin.h |
 | clang/test/CodeGen/builtins-x86.c |
 | clang/include/clang/Basic/BuiltinsX86.def |
 | clang/lib/Headers/tmmintrin.h |
Commit
b2499bf3e851c67ef623766b922de520de9235d5
by springerm[mlir][bufferize][NFC] Refactor createAlloc function signature
Pass a ValueRange instead of an ArrayRef<Value> for better compatibility. Also provide an additional function overload that automatically deallocates the buffer if specified.
Differential Revision: https://reviews.llvm.org/D118025
|
 | mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp |
 | mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h |
Commit
3e50593b18840ab4508a25d0f761afb65535a38d
by llvm-dev[X86] Remove `__builtin_ia32_pmax/min` intrinsics and use generic `__builtin_elementwise_max/min`
D111985 added the generic `__builtin_elementwise_max` and `__builtin_elementwise_min` intrinsics with the same integer behaviour as the SSE/AVX instructions
This patch removes the `__builtin_ia32_pmax/min` intrinsics and just uses `__builtin_elementwise_max/min` - the existing tests see no changes: ``` __m256i test_mm256_max_epu32(__m256i a, __m256i b) { // CHECK-LABEL: test_mm256_max_epu32 // CHECK: call <8 x i32> @llvm.umax.v8i32(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}) return _mm256_max_epu32(a, b); } ``` This requires us to add a `__v64qs` explicitly signed char vector type (we already have `__v16qs` and `__v32qs`).
Sibling patch to D117791
Differential Revision: https://reviews.llvm.org/D117798
|
 | clang/lib/Headers/avx2intrin.h |
 | clang/lib/Headers/smmintrin.h |
 | clang/lib/Headers/avx512bwintrin.h |
 | clang/test/CodeGen/builtins-x86.c |
 | clang/include/clang/Basic/BuiltinsX86.def |
 | clang/lib/CodeGen/CGBuiltin.cpp |
 | clang/lib/Headers/avx512fintrin.h |
 | clang/lib/Headers/avx512vlintrin.h |
 | clang/lib/Headers/emmintrin.h |
Commit
3696c70e67d9b9e54307ef25077bae7a6f76636e
by whisperity[clang-tidy] Add `readability-container-contains` check
This commit introduces a new check `readability-container-contains` which finds usages of `container.count()` and `container.find() != container.end()` and instead recommends the `container.contains()` method introduced in C++20.
For containers which permit multiple entries per key (`multimap`, `multiset`, ...), `contains` is more efficient than `count` because `count` has to do unnecessary additional work.
While this this performance difference does not exist for containers with only a single entry per key (`map`, `unordered_map`, ...), `contains` still conveys the intent better.
Reviewed By: xazax.hun, whisperity
Differential Revision: http://reviews.llvm.org/D112646
|
 | clang-tools-extra/docs/clang-tidy/checks/readability-container-contains.rst |
 | clang-tools-extra/docs/clang-tidy/checks/list.rst |
 | clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/readability-container-contains.cpp |
 | clang-tools-extra/docs/ReleaseNotes.rst |
 | clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.h |
 | clang-tools-extra/clang-tidy/readability/CMakeLists.txt |
 | clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp |
Commit
e4074432d5bf5c295f96eeed27c5b693f5b3bf16
by llvm-dev[X86] Remove avx512f integer and/or/xor/min/max reduction intrinsics and use generic equivalents
None of these have any reordering issues, and they still emit the same reduction intrinsics without any change in the existing test coverage:
llvm-project\clang\test\CodeGen\X86\avx512-reduceIntrin.c llvm-project\clang\test\CodeGen\X86\avx512-reduceMinMaxIntrin.c
Differential Revision: https://reviews.llvm.org/D117881
|
 | clang/lib/Headers/avx512fintrin.h |
 | clang/lib/CodeGen/CGBuiltin.cpp |
 | clang/include/clang/Basic/BuiltinsX86.def |
Commit
8082ab2fc391cb88ab142d3ce8f63e6eb8641a23
by kerry.mclaughlin[LoopVectorize] Support epilogue vectorisation of loops with reductions
isCandidateForEpilogueVectorization will currently return false for loops which contain reductions. This patch removes this restriction and makes the following changes to support epilogue vectorisation with reductions:
- `fixReduction`: If fixReduction is being called during vectorisation of the epilogue, the phi node it creates will need to additionally carry incoming values from the middle block of the main loop.
- `createEpilogueVectorizedLoopSkeleton`: The incoming values of the phi created by fixReduction are updated after the vec.epilog.iter.check block is added. The phi is also moved to the preheader of the epilogue.
- `processLoop`: The start value of any VPReductionPHIRecipes are updated before vectorising the epilogue loop. The getResumeInstr function added to the ILV will return the resume instruction associated with the recurrence descriptor.
Reviewed By: sdesmalen
Differential Revision: https://reviews.llvm.org/D116928
|
 | llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll |
 | llvm/test/Transforms/LoopVectorize/X86/pr35432.ll |
 | llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll |
 | llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll |
 | llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll |
 | llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll |
 | llvm/test/Transforms/LoopVectorize/X86/pr42674.ll |
 | llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-limitations.ll |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
Commit
54f1d950667cac9d1cbf549c72972bcb487b6fa7
by llvmgnsyncbot[gn build] Port 3696c70e67d9
|
 | llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn |
Commit
b7f69b8d46502adbe7007a89bdf6ea6b6c8f95f9
by flo[LV] Name values and blocks in same induction tests (NFC).
This reduces the churn in the test in future updates due to numbering changes.
|
 | llvm/test/Transforms/LoopVectorize/induction.ll |
Commit
70f83f308449710a55c4898f18f06949df2d1559
by zkliu6[RISCV] add support for zbkx subextension in MC layer.
This patch adds support for zbkx extension from K extension(v1.0.0) in MC layer. Instructions with same functionality and same encoding is defined in the bitmanip extension. It defines {Xperm8, Xperm4} as instruction aliases for xperm.* in Zbp extension. When Zbkx is enabled while Zbp is not, xperm.h will not be available. When Zbkx and Zbp are both enabled, the instructions will be decoded in Zbp format.
[[ https://reviews.llvm.org/D94999 | D94999 ]] this is the patch that introduces xperm.* instructions.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D117889
|
 | llvm/lib/Target/RISCV/RISCVSchedRocket.td |
 | llvm/lib/Target/RISCV/RISCVSchedSiFive7.td |
 | llvm/test/MC/RISCV/rv32zbkx-invalid.s |
 | llvm/lib/Support/RISCVISAInfo.cpp |
 | llvm/test/MC/RISCV/attribute-arch.s |
 | llvm/test/CodeGen/RISCV/attributes.ll |
 | llvm/lib/Target/RISCV/RISCVInstrInfoZb.td |
 | llvm/lib/Target/RISCV/RISCV.td |
 | llvm/test/MC/RISCV/rv32zbkx-valid.s |
 | llvm/lib/Target/RISCV/RISCVSubtarget.h |
Commit
b754d09fde0b5f82acfd1d5e0423271823db4905
by groverkss[MLIR][Presburger] Refactor duplicate division merging to Utils
This patch moves merging of duplicate divisions to presburger utility functions. This is required to support division merging in structures other than IntegerPolyhedron.
Reviewed By: arjunp
Differential Revision: https://reviews.llvm.org/D118001
|
 | mlir/include/mlir/Analysis/Presburger/Utils.h |
 | mlir/lib/Analysis/Presburger/IntegerPolyhedron.cpp |
 | mlir/lib/Analysis/Presburger/Utils.cpp |
Commit
b4b6d6374e2e04640a2afa0415ba326f6d7be9b7
by ybrevnov[NFC] New test case for BasicAA and memcy/memmove with deopt
New test checks results of BasicAA for llvm.memcpy.*/llvm.memmove.* intrinsics in presence of deopt bundle. By specification expected result for unrelated global memory should be Ref. Currently this is not the case and will be fixed in upcoming patches.
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D118031
|
 | llvm/test/Analysis/BasicAA/deoptimize.ll |
Commit
f1e36474b9e57b828f0e25c2932536cce7a558e5
by sebastian.neubauer[AMDGPU][NFC] Fix debug prints
Print the instructions instead of pointers.
|
 | llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp |
Commit
0e70dd858eb76151b90fedec593794d54aaca8c1
by llvm-dev[X86] Add PR46249 test case showing poorly widened select predicate mask
|
 | llvm/test/CodeGen/X86/vselect-avx512.ll |
Commit
b2a8eff45c55fe7fe05cb94c5a8525b54511a33e
by flo[LV] Make some tests more robust by adding missing users.
|
 | llvm/test/Transforms/LoopVectorize/AArch64/induction-trunc.ll |
 | llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll |
 | llvm/test/Transforms/LoopVectorize/AArch64/pr31900.ll |
 | llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll |
 | llvm/test/Transforms/LoopVectorize/vector-intrinsic-call-cost.ll |
Commit
5f290c090a2404238a5b0ae4233f3ae9daec319e
by sgueltonMove STLFunctionalExtras out of STLExtras
Only using that change in StringRef already decreases the number of preoprocessed lines from 7837621 to 7776151 for LLVMSupport
Perhaps more interestingly, it shows that many files were relying on the inclusion of StringRef.h to have the declaration from STLExtras.h. This patch tries hard to patch relevant part of llvm-project impacted by this hidden dependency removal.
Potential impact: - "llvm/ADT/StringRef.h" no longer includes <memory>, "llvm/ADT/Optional.h" nor "llvm/ADT/STLExtras.h"
Related Discourse thread: https://llvm.discourse.group/t/include-what-you-use-include-cleanup/5831
|
 | llvm/include/llvm/Support/CrashRecoveryContext.h |
 | llvm/include/llvm/Support/VirtualFileSystem.h |
 | mlir/lib/Parser/Token.h |
 | llvm/include/llvm/Support/TimeProfiler.h |
 | llvm/include/llvm/ADT/SparseSet.h |
 | llvm/include/llvm/Support/Timer.h |
 | clang/include/clang/Basic/DirectoryEntry.h |
 | lld/ELF/Relocations.h |
 | llvm/unittests/ADT/SimpleIListTest.cpp |
 | llvm/unittests/Support/ReverseIterationTest.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPULibFunc.h |
 | llvm/include/llvm/ADT/StringMap.h |
 | llvm/unittests/ADT/SequenceTest.cpp |
 | llvm/include/llvm/ADT/SmallSet.h |
 | llvm/lib/Support/StringRef.cpp |
 | llvm/include/llvm/ADT/STLExtras.h |
 | llvm/include/llvm/ADT/STLFunctionalExtras.h |
 | clang/tools/diagtool/DiagTool.cpp |
 | lldb/include/lldb/Utility/UserIDResolver.h |
 | llvm/unittests/ADT/SmallPtrSetTest.cpp |
 | llvm/include/llvm/Support/JSON.h |
 | llvm/include/llvm/ADT/StringRef.h |
 | llvm/include/llvm/ADT/StringSwitch.h |
 | llvm/include/llvm/ExecutionEngine/JITLink/MemoryFlags.h |
 | mlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h |
 | llvm/include/llvm/ADT/CombinationGenerator.h |
 | llvm/unittests/ADT/StringMapTest.cpp |
 | llvm/lib/Support/TimeProfiler.cpp |
 | llvm/lib/Support/CommandLine.cpp |
 | llvm/include/llvm/IR/LLVMContext.h |
 | llvm/include/llvm/ADT/StringMapEntry.h |
 | llvm/include/llvm/Testing/Support/Annotations.h |
 | llvm/lib/CodeGen/NonRelocatableStringpool.cpp |
 | llvm/include/llvm/ADT/SparseMultiSet.h |
 | llvm/unittests/ADT/StringSetTest.cpp |
 | llvm/include/llvm/Support/raw_ostream.h |
 | llvm/include/llvm/MC/SubtargetFeature.h |
 | llvm/include/llvm/ADT/identity.h |
Commit
853e79d8d8af7376a81bf692f26a0c3468811d29
by clementval[flang] Update tco tool pipline and add translation to LLVM IR
tco is a tool to test the FIR to LLVM IR pipeline of the Flang compiler.
This patch update tco pipelines and adds the translation to LLVM IR.
A simple test is added to make sure the tool is working with a simple FIR program. More tests will be upstream in follow up patch from the fir-dev branch.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: kiranchandramohan, awarzynski, schweitz, mehdi_amini
Differential Revision: https://reviews.llvm.org/D117781
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> Co-authored-by: Jean Perier <jperier@nvidia.com> Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com>
|
 | flang/test/Fir/basic-program.fir |
 | flang/include/flang/Tools/CLOptions.inc |
 | flang/lib/Optimizer/Support/InitFIR.cpp |
 | flang/include/flang/Optimizer/CodeGen/CodeGen.h |
 | flang/tools/tco/tco.cpp |
 | flang/include/flang/Optimizer/Support/InitFIR.h |
 | flang/lib/Optimizer/CodeGen/CodeGen.cpp |
 | flang/lib/Optimizer/Support/CMakeLists.txt |
 | flang/tools/tco/CMakeLists.txt |
Commit
38ffea9b4c1f59ebf434a9774cd7ae741cc87d70
by nathan[demangler] Resync demangler sources
Recent commits changed llvm/include/llvm/Demangle without also changing libcxxabi/src/Demangle, which is the canonical source location. This resyncs those commits to the libcxxabi directory.
Commits: * 1f9e18b6565fd1bb69c4b649b9efd3467b3c7c7d * f53d359816e66a107195e1e4b581e2a33bbafaa4 * 065044c443f4041f32e0a8d6e633f9d92580fbca
Reviewed By: ChuanqiXu
Differential Revision: https://reviews.llvm.org/D117990.diff
|
 | libcxxabi/src/demangle/ItaniumDemangle.h |
 | libcxxabi/src/demangle/Utility.h |
 | libcxxabi/src/demangle/StringView.h |
Commit
897d1bb659c2a23baed8ff4881960945125c40f7
by nathan[demangler] write-protect non-canonical source
To try and avoid undesired changes to the non-canonical demangler sources, change the cp-to-llvm script to (a) write-protect the target files and (b) prepend 'do not edit' comments that are significant to emacs[*], and hopefully humans.
Reviewed By: ChuanqiXu
Differential Revision: https://reviews.llvm.org/D118008
|
 | llvm/include/llvm/Demangle/Utility.h |
 | libcxxabi/src/demangle/cp-to-llvm.sh |
 | llvm/include/llvm/Demangle/ItaniumDemangle.h |
 | llvm/include/llvm/Demangle/StringView.h |
Commit
6184e565ad4065026bc121fd13d6a8743a1fe593
by nathan[demangler][NFC] Refactor some parsing
There's some unnecessary code duplication in the parser. This refactors that and deploys boolean variables to avoid the duplication. These also happen to help adding module demangling (with an updated mangling scheme).
1a) The grammar requires some lookahead concerning <template-args>. We may discover an <unscoped-name> is actually <unscoped-template-name> <template-args>. (When <unscoped-name> was a substitution, there must be a following <template-args>.) Refactor parseName to only have one code path looking for the 'I' indicating <template-args>.
1b) While there I altered the control flow to hold the result in a variable, rather than tail call. Made it easier to debug (and of course an optimizer will DTRT here anyway).
2a) An <unscoped-name> can have an St or StL prefix. No need for completely separate code paths handling the following unqualified-name though.
2b) Also no need to look for both 'St' and 'StL' separately. Look for 'St' and then conditionally swallow an 'L'.
3) We get a similar issue as #1a when parsing a typeName. Here I just change the control flow slightly to bring the 'break' out to the end of the 'S' block and embed the early return inside an if. That's more in keeping with the code style.
4) Although NFC, there's a new testcase as that's not covered by the existing demangler tests and is significant in the #1a case above.
Reviewed By: ChuanqiXu
Differential Revision: https://reviews.llvm.org/D117879
|
 | libcxxabi/src/demangle/ItaniumDemangle.h |
 | libcxxabi/test/test_demangle.pass.cpp |
 | llvm/include/llvm/Demangle/ItaniumDemangle.h |
Commit
589a93907222cf2380198ca2172ff6697dd43d87
by aaronAdd `isConstinit` matcher
Support C++20 constinit variables for AST Matchers.
|
 | clang/docs/ReleaseNotes.rst |
 | clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp |
 | clang/docs/LibASTMatchersReference.html |
 | clang/include/clang/ASTMatchers/ASTMatchers.h |
 | clang/lib/ASTMatchers/Dynamic/Registry.cpp |
Commit
a0d5e938fe9c1fd6ca492a91cdc3d841aa03fc0d
by sgueltonAdd missing include llvm/ADT/STLExtras
|
 | clang-tools-extra/clang-tidy/GlobList.cpp |
 | llvm/include/llvm/ADT/CoalescingBitVector.h |
Commit
f6ac8088b0e890765974fee5f5820a340736f9bf
by sjoerd.meijer[LoopFlatten] Added comments about usage of various Loop APIs. NFC.
|
 | llvm/lib/Transforms/Scalar/LoopFlatten.cpp |
Commit
ada6d78a7802f8057f1ab7cee0bed25f91fcc4b4
by sjoerd.meijer[LoopFlatten] Address FIXME about getTripCountFromExitCount. NFC.
Together with the previous commit which mainly documents better LoopFlatten's overall strategy, this addresses a concern added as a FIXME comment in D110587; the code refactoring (NFC) introduces functions (also for the SCEV usage) to make this clearer.
|
 | llvm/lib/Transforms/Scalar/LoopFlatten.cpp |
Commit
d42678b453bc2587a42eef1ba4e5782b2c8c5ff1
by fraser[RISCV] Add side-effect-free vsetvli intrinsics
This patch introduces new intrinsics that enable the use of vsetvli in contexts where only the returned vector length is of interest. The pre-existing intrinsics are marked with side-effects, which prevents even trivial optimizations on/across them.
These intrinsics are intended to be used in situations where the vector length is fed in turn to RVV intrinsics or to vector-predication intrinsics during loop vectorization, for example. Those codegen paths ensure that instructions are generated with their own implicit vsetvli, so the vector length and vtype can be relied upon to be correct.
No corresponding C builtins are planned at this stage, though that is a possibility for the future if the need arises.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D117910
|
 | llvm/test/CodeGen/RISCV/rvv/rv32-vsetvli-intrinsics.ll |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h |
 | llvm/test/CodeGen/RISCV/rvv/rv64-vsetvli-intrinsics.ll |
 | llvm/include/llvm/IR/IntrinsicsRISCV.td |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
Commit
25e8f5f827bfbc8aed24c9db116c4869f437fb9d
by sgueltonAdd missing STLExtras.h include from lldb/unittests/TestingSupport/MockTildeExpressionResolver.cpp
|
 | lldb/unittests/TestingSupport/MockTildeExpressionResolver.cpp |
Commit
f7079bf9ee68aa46c6eef5836279902a2fd1fe50
by llvm-dev[X86] Fix v8i8 -> v8i16 typo in bool reductions
We were supposed to be testing <8 x i16> reductions
|
 | llvm/test/CodeGen/X86/vector-reduce-and-bool.ll |
 | llvm/test/CodeGen/X86/vector-reduce-or-bool.ll |
 | llvm/test/CodeGen/X86/vector-reduce-xor-bool.ll |
Commit
4436d4cd7c86ed544b1184db2eec691b38c9c77b
by llvm-dev[X86] Rename cmp-with-zero bool reductions
Explicitly name them icmp0_* - I'm intending to add PR53379 test coverage shortly
|
 | llvm/test/CodeGen/X86/vector-reduce-or-bool.ll |
 | llvm/test/CodeGen/X86/vector-reduce-and-bool.ll |
 | llvm/test/CodeGen/X86/vector-reduce-xor-bool.ll |
Commit
0553f5e61ac7e919c3eb573f57ed0e1096ccbbeb
by llvm-dev[X86] Add cmp-equality bool reductions
PR53379 test coverage
|
 | llvm/test/CodeGen/X86/vector-reduce-and-bool.ll |
 | llvm/test/CodeGen/X86/vector-reduce-or-bool.ll |
 | llvm/test/CodeGen/X86/vector-reduce-xor-bool.ll |
Commit
34aedbe90d7667a3fd1e0427808648364b594034
by paul.walker[AArch64] Regenerate CHECK lines for llvm/test/CodeGen/AArch64/sve2-int-mul.ll
|
 | llvm/test/CodeGen/AArch64/sve2-int-mul.ll |
Commit
5e5efd8a91f2e340e79a73bedbc6ab66ad4a4281
by 18738953+ksyx[clang-format] Fix SeparateDefinitionBlocks issues
- Fixes https://github.com/llvm/llvm-project/issues/53227 that wrongly indents multiline comments - Fixes wrong detection of single-line opening braces when used along with those only opening scopes, causing crashes due to duplicated replacements on the same token: void foo() { { int x; } } - Fixes wrong recognition of first line of definition when the line starts with block comment, causing crashes due to duplicated replacements on the same token for this leads toward skipping the line starting with inline block comment: /* Some descriptions about function */ /*inline*/ void bar() { } - Fixes wrong recognition of enum when used as a type name rather than starting definition block, causing crashes due to duplicated replacements on the same token since both actions for enum and for definition blocks were taken place: void foobar(const enum EnumType e) { } - Change to use function keyword for JavaScript instead of comparing strings - Resolves formatting conflict with options EmptyLineAfterAccessModifier and EmptyLineBeforeAccessModifier (prompts with --dry-run (-n) or --output-replacement-xml but no observable change) - Recognize long (len>=5) uppercased name taking a single line as return type and fix the problem of adding newline below it, with adding new token type FunctionLikeOrFreestandingMacro and marking tokens in UnwrappedLineParser: void afunc(int x) { return; } TYPENAME func(int x, int y) { // ... } - Remove redundant and repeated initialization - Do no change to newlines before EOF
Reviewed By: MyDeveloperDay, curdeius, HazardyKnusperkeks Differential Revision: https://reviews.llvm.org/D117520
|
 | clang/lib/Format/FormatToken.h |
 | clang/unittests/Format/DefinitionBlockSeparatorTest.cpp |
 | clang/lib/Format/TokenAnnotator.cpp |
 | clang/lib/Format/DefinitionBlockSeparator.cpp |
 | clang/lib/Format/DefinitionBlockSeparator.h |
 | clang/lib/Format/UnwrappedLineParser.cpp |
Commit
7a5b0a2934f3b82ae93f03d1e7603371fe5c42d1
by Matthew.ArsenaultReapply "IR: Make getRetAlign check callee function attributes"
Reapply 3d2d208f6a0a421b23937c39b9d371183a5913a3, reverted in a97e20a3a8a58be751f023e610758310d5664562
|
 | llvm/include/llvm/IR/InstrTypes.h |
Commit
99e8e17313e76c50a0d6606394fed98832fd8fec
by Matthew.ArsenaultReapply "Revert "GlobalISel: Add G_ASSERT_ALIGN hint instruction"
This reverts commit a97e20a3a8a58be751f023e610758310d5664562.
|
 | llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h |
 | llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/assert-align.ll |
 | llvm/include/llvm/Target/GenericOpcodes.td |
 | llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp |
 | llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp |
 | llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/regbank-assert-align.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-assert-align.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-assert-align.ll |
 | llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/assert-align.ll |
 | llvm/lib/CodeGen/GlobalISel/CallLowering.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp |
 | llvm/include/llvm/Support/TargetOpcodes.def |
Commit
354b2c36ee46a60f316e816d31737559a0694515
by bjorn.a.petterssonPre-commit test cases for (sra (load)) -> (sextload) folds. NFC
Add test case to show missing folds for (sra (load)) -> (sextload).
Differential Revision: https://reviews.llvm.org/D116929
|
 | llvm/test/CodeGen/X86/combine-sra-load.ll |
Commit
18aabae8e2b6ccea4575ac9e4fb4d38ec7e4e971
by Matthew.ArsenaultAMDGPU: Fix assertion on fixed stack objects with VGPR->AGPR spills
These have negative / out of bounds frame index values and would assert when trying to set the BitVector. Fixed stack objects can't be colored away so ignore them.
|
 | llvm/lib/Target/AMDGPU/SIFrameLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/spill-vgpr-to-agpr.ll |
Commit
49e37000691a17a073003219a584414e5f481e11
by springerm[mlir][tensor] Move BufferizableOpInterface impl to tensor dialect
This is in preparation of unifying the existing bufferization with One-Shot bufferization.
A subsequent commit will replace `tensor-bufferize`'s implementation with the BufferizableOpInterface-based implementation and move over missing test cases.
Differential Revision: https://reviews.llvm.org/D117984
|
 | mlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/TensorInterfaceImpl.h |
 | mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp |
 | mlir/include/mlir/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.h |
 | mlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp |
 | mlir/lib/Dialect/Linalg/ComprehensiveBufferize/TensorInterfaceImpl.cpp |
 | mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt |
 | mlir/test/lib/Dialect/Linalg/CMakeLists.txt |
 | mlir/test/lib/Dialect/Linalg/TestComprehensiveBufferize.cpp |
 | mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp |
 | mlir/lib/Dialect/Linalg/ComprehensiveBufferize/CMakeLists.txt |
 | utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel |
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
 | mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt |
Commit
473aa8e10c49aeed7083a53f275176c5831711b3
by david.spickett[llvm][docs] Fix code-block in the testing guide
Without a langauge name it's an error (with some verisons of Sphinx it seems) or the block is simply missing in the output.
|
 | llvm/docs/TestingGuide.rst |
Commit
2d9ed1aba236b4e50ce4bbaf955347590d536a55
by shabalin[mlir] Fix broken __repr__ implementation in Linalg OpDSL
Reviewed By: gysit
Differential Revision: https://reviews.llvm.org/D118027
|
 | mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py |
Commit
d193f7be7898f165e98ee5fc38b07588f43fa856
by sd.fertile[libc++][AIX] Do not assert chmod return value is non-zero.
A number of the filesystem tests create a directory that contains a bad symlink. On AIX recursively setting permissions on said directory will return a non-zero value because of the bad symlink, however the following rm -r still completes successfully. Avoid the assertion on AIX, and rely on the return value of the remove command to detect problems.
Differential Revision: https://reviews.llvm.org/D112086
|
 | libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp |
 | libcxx/test/support/filesystem_test_helper.h |
 | libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp |
 | libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp |
Commit
fc08d1c2940609d26a534d7a12e6c6a528891830
by springerm[mlir][tensor][bufferize] Support tensor.rank in BufferizableOpInterfaceImpl
This is the only op that is not supported via BufferizableOpInterfaceImpl bufferization. Once this op is supported we can switch `tensor-bufferize` over to the new unified bufferization.
Differential Revision: https://reviews.llvm.org/D117985
|
 | mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
 | mlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp |
Commit
4d53f88d1a18e288362e1077ae09c98c843593ba
by clementval[flang] Add MemoryAllocation pass to the pipeline
Add the MemoryAllocation pass into the pipeline. Add the possibilty to pass the options directly within the tool (tco).
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D117886
|
 | flang/include/flang/Optimizer/Transforms/Passes.h |
 | flang/include/flang/Tools/CLOptions.inc |
 | flang/lib/Optimizer/Transforms/MemoryAllocation.cpp |
Commit
3ad35ba4dea5240dd58476f0c85f0fe096d6c7ce
by dkszelethus[Templight] Don't display empty strings for names of unnamed template parameters
Patch originally by oktal3000: https://github.com/mikael-s-persson/templight/pull/40
When a template parameter is unnamed, the name of -templight-dump might return an empty string. This is fine, they are unnamed after all, but it might be more user friendly to at least describe what entity is unnamed.
Differential Revision: https://reviews.llvm.org/D115521
|
 | clang/lib/Frontend/FrontendActions.cpp |
 | clang/test/Templight/templight-empty-entries-fix.cpp |
Commit
c30d2893a43d20b587d0abd288472adfa2c8672b
by springerm[mlir][bufferize] Change insertion point for ToTensorOps
Both insertion points are valid. This is to make BufferizableOpInteface-based bufferization compatible with existing partial bufferization test cases. (So less changes are necessary to unit tests.)
Differential Revision: https://reviews.llvm.org/D117986
|
 | mlir/test/Dialect/Linalg/comprehensive-function-bufferize.mlir |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-alloca.mlir |
 | mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
Commit
217570b03bbe810e6d4183aee72637ae5c326fbc
by l.chelini[MLIR][OpenMP] Suppress -Wreturn-type warnings (NFC)
|
 | mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp |
Commit
c1335166b2659b02784b9dfb562c6b8b1c746407
by hansDon't run test/ClangScanDeps/modules-symlink.c on Windows
'ln -s' isn't Windows friendly.
|
 | clang/test/ClangScanDeps/modules-symlink.c |
Commit
cd2a9ff39788578f419d41f32d046150462696e2
by craig.topper[RISCV] Select int_riscv_vsll with shift of 1 to vadd.vv.
Add might be faster than shift. We can't do this earlier without using a Freeze instruction.
This is the intrinsic version of D106689.
Reviewed By: frasercrmck
Differential Revision: https://reviews.llvm.org/D118013
|
 | llvm/test/CodeGen/RISCV/rvv/vsll-rv32.ll |
 | llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td |
 | llvm/test/CodeGen/RISCV/rvv/vsll-rv64.ll |
Commit
b8c7cdcc81a04613d01b1f468d510959f1e66416
by craig.topper[SelectionDAG][RISCV] Teach getNode to fold bswap(bswap(x))->x.
This can show up during when bitreverse is expanded to bswap and swap of bits within a byte. If the input is already a bswap, we should cancel them out before we further transform them in a way that makes it harder to see the redundancy.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D118007
|
 | llvm/test/CodeGen/RISCV/bswap-bitreverse-ctlz-cttz-ctpop.ll |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
Commit
b00ee46b5e4bf5f0b5700373ca6302c3c50b10b9
by springerm[mlir][bufferize][NFC] Implement BufferizableOpInterface on bufferization ops directly
No longer go through an external model. Also put BufferizableOpInterface into the same build target as the BufferizationDialect. This allows for some code reuse between BufferizationOps canonicalizers and BufferizableOpInterface implementations.
Differential Revision: https://reviews.llvm.org/D117987
|
 | mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt |
 | mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt |
 | utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel |
 | mlir/lib/Dialect/Linalg/ComprehensiveBufferize/CMakeLists.txt |
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
 | mlir/lib/Dialect/Linalg/IR/CMakeLists.txt |
 | mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt |
 | mlir/test/lib/Dialect/Linalg/CMakeLists.txt |
 | mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt |
 | mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt |
 | mlir/test/lib/Dialect/Linalg/TestComprehensiveBufferize.cpp |
 | mlir/lib/Dialect/Bufferization/IR/BufferizationInterfaceImpl.cpp |
 | mlir/include/mlir/Dialect/Bufferization/IR/BufferizationInterfaceImpl.h |
 | mlir/include/mlir/Dialect/Bufferization/IR/Bufferization.h |
 | mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td |
Commit
a43ed49f5b163b2926641729a30a5c17c2116a08
by craig.topper[DAGCombiner][RISCV] Canonicalize (bswap(bitreverse(x))->bitreverse(bswap(x)).
If the bitreverse gets expanded, it will introduce a new bswap. By putting a bswap before the bitreverse, we can ensure it gets cancelled out when this happens.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D118012
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/RISCV/rv64zbp.ll |
 | llvm/test/CodeGen/RISCV/bswap-bitreverse-ctlz-cttz-ctpop.ll |
 | llvm/test/CodeGen/RISCV/rv32zbp.ll |
Commit
e494278ceeb70d2973392a349b3ab105da488b13
by gysit[mlir][linalg] Add transpose support to hoist padding.
Add a transpose option to hoist padding to transpose the padded tensor before storing it into the packed tensor. The early transpose improves the memory access patterns of the actual compute kernel. The patch introduces a transpose right after the hoisted pad tensor and a second transpose inside the compute loop. The second transpose can either be fused into the compute operation or will canonicalize away when lowering to vector instructions.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D117893
|
 | mlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp |
 | mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h |
 | mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp |
 | mlir/include/mlir/Dialect/Linalg/Transforms/HoistPadding.h |
 | mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp |
 | mlir/lib/Dialect/Linalg/Utils/Utils.cpp |
 | mlir/include/mlir/Dialect/Linalg/Utils/Utils.h |
 | mlir/test/Dialect/Linalg/hoist-padding.mlir |
Commit
cfe17986c952e552a731237da99f4879def3a02b
by Casey[libcxx][test] {move,reverse}_iterator cannot be instantiated for a type with no `operator*`
Since their nested reference types are defined in terms of `iter_reference_t<T>`, which examines `decltype(*declval<T>())`.
Differential Revision: https://reviews.llvm.org/D117371
|
 | libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/assign.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/three-way.pass.cpp |
Commit
699e22a083f2bae120e68ce7254fcddb4aaf97b3
by sander.desmalen[ISEL] Move trivial step_vector folds to FoldConstantArithmetic.
Given that step_vector is practically a constant, doing this early helps with DAGCombine folds that happen before type legalization.
There is currently no way to test this happens earlier, although existing tests for step_vector folds continue protect the folds happening at all.
Reviewed By: david-arm
Differential Revision: https://reviews.llvm.org/D117863
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
Commit
6997f4d07fa4b462dd3a02838a2cfed45db9c8a0
by llvm-dev[X86] combineSetCCMOVMSK - fold allof(cmpeq(x,y)) -> ptest(sub(x,y)) (PR53379)
As suggested on PR53379, for all-of icmp-eq patterns, we can use ptest(sub(x,y)) on SSE41+ targets
This is a generalization of the existing allof(cmpeq(x,0)) -> ptest(x) pattern
We can probably extend this further, in particularly to handle 256-bit cases on pre-AVX2 targets, but this part of the generalization is pretty trivial
Fixes Issue #53379
|
 | llvm/test/CodeGen/X86/movmsk-cmp.ll |
 | llvm/test/CodeGen/X86/vector-compare-all_of.ll |
 | llvm/test/CodeGen/X86/vector-reduce-and-bool.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/vector-compare-any_of.ll |
Commit
c03fdd340356c9a29242975f39786529eb99f194
by i[ELF] Fix the branch range computation when reusing a thunk
Notation: dst is `t->getThunkTargetSym()->getVA()`
On AArch64, when `src-0x8000000-r_addend <= dst < src-0x8000000`, the condition `target->inBranchRange(rel.type, src, rel.sym->getVA(rel.addend))` may incorrectly consider a thunk reusable. `rel.addend = -getPCBias(rel.type)` resets the addend to 0 for AArch64/PPC and the zero addend is used by `rel.sym->getVA(rel.addend)` to check out-of-range relocations.
See the test for a case this computation is wrong: `error: a.o:(.text_high+0x4): relocation R_AARCH64_JUMP26 out of range: -134217732 is not in [-134217728, 134217727]` I have seen a real world case with r_addend=19960.
Reviewed By: peter.smith
Differential Revision: https://reviews.llvm.org/D117734
|
 | lld/test/ELF/aarch64-thunk-reuse.s |
 | lld/test/ELF/arm-thunk-reuse.s |
 | lld/ELF/Relocations.cpp |
Commit
a2afc8249a9950da861bce5fd724c1ccf6c4eea4
by Louis Dionne[libc++] Fix benchmark failure
|
 | libcxx/benchmarks/filesystem.bench.cpp |
Commit
6be77561f82d781cd957c316a7f53660510683a3
by eopxd[SLP][NFC] Add debug logs for entry.
Tell the users they are specifying something without vector register.
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D117980
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
7cd441ff537e00c743236658bfbcfc16c30ce031
by owenpiano[clang][NFC] Wrap TYPE_SWITCH in "do while (0)" in the interpreter
Wraps the expansions of TYPE_SWITCH and COMPOSITE_TYPE_SWITCH in the constexpr interpreter with "do { ... } while (0)" so that these macros can be used like this:
if (llvm::Optional<PrimType> T = Ctx.classify(FieldTy)) TYPE_SWITCH(*T, Ok &= ReturnValue<T>(FP.deref<T>(), Value)); else Ok &= Composite(FieldTy, FP, Value);
This bug was found while testing D116316. See also review comment: https://reviews.llvm.org/D64146?id=208520#inline-584131
Also cleaned up the macro definitions by removing the superfluous do-while statements and removed the unused INT_TPYE_SWITCH macro.
Differential Revision: https://reviews.llvm.org/D117301
|
 | clang/lib/AST/Interp/PrimType.h |
Commit
80532ebb508d0ca62f96df5f253db8caed969397
by sebastian.neubauer[AMDGPU][InstCombine] Remove zero image offset
Remove the offset parameter if it is zero.
Differential Revision: https://reviews.llvm.org/D117876
|
 | llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp |
 | llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h |
 | llvm/lib/Target/AMDGPU/MIMGInstructions.td |
 | llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp |
 | llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll |
Commit
74db5c8c95e2aed40d288bb2df92eb859b87c827
by jeremy.morseRevert rG6a605b97a200 due to excessive memory use
Over in the comments for D116821, some use-cases have cropped up where there's a substantial increase in memory usage. A quick inspection shows that a) it's a lot of memory and b) there are several things to be done to reduce it. Reverting (via disabling this feature by default) to avoid bothering people in the meantime.
|
 | llvm/test/DebugInfo/X86/instr-ref-flag.ll |
 | llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp |
Commit
50999e82e8844615b1ae53edb9d56cdcace91b04
by marek.kurdej+llvm.org[clang-format] Space between attribute closing parenthesis and qualified type colon.
Fixes https://github.com/llvm/llvm-project/issues/35711.
Reviewed By: MyDeveloperDay, HazardyKnusperkeks, owenpan
Differential Revision: https://reviews.llvm.org/D117894
|
 | clang/lib/Format/TokenAnnotator.cpp |
 | clang/unittests/Format/FormatTest.cpp |
Commit
db2944e34b16387bf4326ddfd2a8c420594572f4
by koraq[libc++][format] Adds formatter floating-point.
This properly implements the formatter for floating-point types.
Completes: - P1652R1 Printf corner cases in std::format - LWG 3250 std::format: # (alternate form) for NaN and inf - LWG 3243 std::format and negative zeroes
Implements parts of: - P0645 Text Formatting
Reviewed By: #libc, ldionne, vitaut
Differential Revision: https://reviews.llvm.org/D114001
|
 | libcxx/benchmarks/formatter_float.bench.cpp |
 | libcxx/include/__format/formatter_floating_point.h |
 | libcxx/docs/Status/Cxx20Papers.csv |
 | libcxx/include/__format/formatter.h |
 | libcxx/include/__format/formatter_integral.h |
 | libcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp |
 | libcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_floating_point.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.context/format.formatter.spec/formatter.floating_point.pass.cpp |
 | libcxx/include/module.modulemap |
 | libcxx/include/format |
 | libcxx/test/std/utilities/format/format.functions/format_tests.h |
 | libcxx/include/__format/parser_std_format_spec.h |
 | libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_floating_point.module.verify.cpp |
 | libcxx/docs/Status/Cxx20Issues.csv |
 | libcxx/include/CMakeLists.txt |
Commit
787ccd345cbb3a569ba751580bb806552b4b6e57
by koraq[libc++][format] Adds formatter pointer.
This implements the last required formatter specialization.
Completes: - LWG 3251 Are std::format alignment specifiers applied to string arguments? - LWG 3340 Formatting functions should throw on argument/format string mismatch in §[format.functions] - LWG 3540 §[format.arg] There should be no const in basic_format_arg(const T* p)
Implements parts of: - P0645 Text Formatting
Depends on D114001
Reviewed By: ldionne, vitaut, #libc
Differential Revision: https://reviews.llvm.org/D115988
|
 | libcxx/include/format |
 | libcxx/docs/Status/Cxx20Issues.csv |
 | libcxx/test/libcxx/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp |
 | libcxx/include/__format/parser_std_format_spec.h |
 | libcxx/include/__format/format_arg.h |
 | libcxx/include/module.modulemap |
 | libcxx/docs/Status/Cxx2bIssues.csv |
 | libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_pointer.module.verify.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.context/format.formatter.spec/formatter.pointer.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/format_tests.h |
 | libcxx/include/__format/formatter_pointer.h |
 | libcxx/include/CMakeLists.txt |
 | libcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_pointer.pass.cpp |
Commit
2b8b48c5a0c40d33569c74924f72cc31055a7b56
by koraq[libc++][format] Disable default formatter.
[format.formatter.spec]/5 lists the requirements for the default formatter. The original implementation didn't implement this. This implements the default formatter according to the Standard.
This adds additional test to validate the default formatter is disabled and the required standard formatters are enabled.
While adding the tests it seems the formatters needed a constraint for the character types they were valid for.
Implements parts of: - P0645 Text Formatting
Depends on D115988
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D115989
|
 | libcxx/include/__format/formatter_bool.h |
 | libcxx/include/__format/formatter_string.h |
 | libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/types.compile.pass.cpp |
 | libcxx/include/__format/formatter.h |
 | libcxx/include/__format/formatter_integer.h |
Commit
ade6d0d8fa1d9e327e9a1975351aa6b4b5dbf800
by koraq[libc++][format] Adds formatter handle.
This implements the handler according to P0645. P2418 changes the wording in the Standard. That isn't implemented and requires changes in more places. LWG3631 applies modifications to P2418, but is currently unresolved.
Implements parts of: * P0645 Text Formatting
Depends on D115989
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D115991
|
 | libcxx/test/std/utilities/format/format.formatter/format.context/format.formatter.spec/formatter.char.pass.cpp |
 | libcxx/include/__format/format_arg.h |
 | libcxx/include/format |
 | libcxx/test/std/utilities/format/format.arguments/format.arg/operator_bool.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.context/format.context/ctor.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.context/format.formatter.spec/formatter.signed_integral.pass.cpp |
 | libcxx/test/libcxx/utilities/format/format.arguments/format.args/get.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.context/format.context/locale.pass.cpp |
 | libcxx/test/libcxx/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp |
 | libcxx/test/std/utilities/format/format.arguments/format.arg.store/make_format_args.sh.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.context/format.formatter.spec/formatter.unsigned_integral.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.context/format.formatter.spec/formatter.handle.pass.cpp |
 | libcxx/test/std/utilities/format/format.arguments/format.args/ctor.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.context/format.context/arg.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/format_tests.h |
 | libcxx/test/std/utilities/format/format.arguments/format.arg.store/class.pass.cpp |
Commit
a922324590a13ae544491d21eb035a284a9e75e5
by llvmgnsyncbot[gn build] Port 787ccd345cbb
|
 | llvm/utils/gn/secondary/libcxx/include/BUILD.gn |
Commit
5fa40fb293241affeac45c9ec4e129e2280f7510
by llvmgnsyncbot[gn build] Port db2944e34b16
|
 | llvm/utils/gn/secondary/libcxx/include/BUILD.gn |
Commit
ea17d29a6c834a34a698c87193a86eeab04922d2
by stephen.tozer[llvm] Do not replace dead constant references in metadata with undef
This patch removes an incorrect behaviour in Constants.cpp, which would replace dead constant references in metadata with an undef value. This blanket replacement resulted in undef values being inserted into metadata that would not accept them. The replacement was intended for debug info metadata, but this is now instead handled in the RAUW handler.
Differential Revision: https://reviews.llvm.org/D117300
|
 | llvm/test/LTO/Resolution/X86/Inputs/no-undef-type-md.ll |
 | llvm/test/LTO/Resolution/X86/no-undef-type-md.ll |
 | llvm/lib/IR/Constants.cpp |
Commit
11cea7e5ce4d3f6a0d2fac016d503f99c52cdc96
by sander.desmalen[AArch64] NFC: Clarify and auto-generate some CodeGen tests.
* For ext-narrow-index.ll, move vscale_range attribute closer to the function definition, rather than through indirect #<num> attribute. This makes the test a bit easier to read. * auto-generated CHECK lines for sve-cmp-select.ll and named-vector-shuffles-sve.ll. * re-generated CHECK lines for tests that had a mention they were auto-generated, but where the CHECK lines were out of date.
|
 | llvm/test/CodeGen/AArch64/concat-vector.ll |
 | llvm/test/CodeGen/AArch64/ext-narrow-index.ll |
 | llvm/test/CodeGen/AArch64/neon-stepvector.ll |
 | llvm/test/CodeGen/AArch64/sve-cmp-select.ll |
 | llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll |
 | llvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll |
 | llvm/test/CodeGen/AArch64/shift_minsize.ll |
 | llvm/test/CodeGen/AArch64/sve-punpklo-combine.ll |
Commit
57eb5033cdffd4a4b35e2ba308876f50bc9cce62
by rupprecht[libc] Add bazel definition for hypot/hypotf.
Patch by Clint Caywood.
Differential Revision: https://reviews.llvm.org/D118053
|
 | utils/bazel/llvm-project-overlay/libc/BUILD.bazel |
Commit
38e16e1cebb891ad47b85727bf46f7dac6d7da94
by hansUse -gdwarf-4 in compiler-rt/test/profile/Linux/instrprof-debug-info-correlate.c
otherwise the test fails after the recent DWARF 4 -> 5 default change, see https://github.com/llvm/llvm-project/issues/53387
|
 | compiler-rt/test/profile/Linux/instrprof-debug-info-correlate.c |
Commit
d27f02261442a15b0edb627023a8568735b2d110
by jeremy.morse[NFC][DebugInfo] Strip out an undesired #if 0 block
As mentioned in discussion of D116821, it's better to just delete this block than keep it hanging around.
|
 | llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp |
Commit
830df62a07031d84257a8a208798a6a2b4c0461a
by flo[ConstraintElimination] Add test from PR53123.
|
 | llvm/test/Transforms/ConstraintElimination/sub-nuw.ll |
Commit
8a15caaae56182815839741de414a0ba60037a9a
by flo[ConstraintElimination] Fix sign of sub decomposition.
Update the decomposition code to make sure the right coefficient (-1) is used for the second operand of the subtract.
Fixes PR53123.
|
 | llvm/lib/Transforms/Scalar/ConstraintElimination.cpp |
 | llvm/test/Transforms/ConstraintElimination/sub-nuw.ll |
Commit
0a3d946e7bb4cd3519370c879dac7cbb58d13a55
by John.Ericson[libc][cmake] Make `add_tablegen` calls match others
in all the other `add_tablegen` calls, the project name is so transformed so it can be a prefix of a CMake variable. I think it is better to do do that here too for consistency.
Reviewed By: sivachandra
Differential Revision: https://reviews.llvm.org/D117979
|
 | libc/utils/tools/WrapperGen/CMakeLists.txt |
 | libc/utils/HdrGen/PrototypeTestGen/CMakeLists.txt |
Commit
eadf7268d578396d4f2fc2a0f7eda8096c041007
by arthur.j.odwyer[libc++] Fix bugs in common_iterator; add test coverage.
Differential Revision: https://reviews.llvm.org/D117400
|
 | libcxx/test/std/iterators/predef.iterators/iterators.common/types.h |
 | libcxx/include/__iterator/common_iterator.h |
 | libcxx/test/std/iterators/predef.iterators/iterators.common/constraints.compile.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.converting.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.iter.pass.cpp |
 | libcxx/docs/Status/Cxx2bIssues.csv |
 | libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.sentinel.pass.cpp |
 | libcxx/test/support/test_iterators.h |
 | libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.default.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/iterators.common/iter_move.pass.cpp |
 | libcxx/test/std/iterators/predef.iterators/iterators.common/iter_swap.pass.cpp |
Commit
4684857abfd7cadde9693eed8cfd21446047c579
by koraq[libc++][format] Finish P0645 Text Formatting.
This adjust the version macro and sets it as completed. All parts of the paper have been implemented, except for the parts replaced by later papers and LWG-issues.
Adjusted the synopsis to match the synopsis in the Standard. Not yet implemented parts of P2216 and P2418 still use the P0645 wording.
Completes: - P0645 Text Formatting
Depends on D115991
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D115999
|
 | libcxx/docs/Status/Cxx20.rst |
 | libcxx/docs/Status/Cxx20Papers.csv |
 | libcxx/docs/Status/FormatIssues.csv |
 | libcxx/docs/ReleaseNotes.rst |
 | libcxx/include/format |
Commit
b1af01fe6aa7cb733461b2d475add77b947b79fb
by mtrofin[NFC][MLGO] Simplify conditional compilation
Most of the code that's shared between 'release' and 'development' modes doesn't depend on anything special.
|
 | llvm/lib/Analysis/MLInlineAdvisor.cpp |
 | llvm/lib/CodeGen/MLRegallocEvictAdvisor.cpp |
Commit
c27f8fb96882ee8c684d03068836cf610d4f0640
by Stanislav.Mekhanoshin[AMDGPU] Remove cndmask from readsExecAsData
Differential Revision: https://reviews.llvm.org/D117909
|
 | llvm/test/CodeGen/AMDGPU/licm-valu.mir |
 | llvm/lib/Target/AMDGPU/SIInstrInfo.cpp |
Commit
4858fe04a1571e78ff97b778c0fb6a46855c3d6a
by medismail.bennani[lldb/Plugins] Add ScriptedProcess::GetThreadsInfo interface
This patch adds a new method to the Scripted Process interface to retrive a dictionary of Scripted Threads. It uses the thread ID as a key and the Scripted Thread instance as the value.
This dictionary will be used to create Scripted Threads in lldb and perform calls to the python scripted thread object.
rdar://87427126
Differential Revision: https://reviews.llvm.org/D117068
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/examples/python/scripted_process/scripted_process.py |
 | lldb/include/lldb/Interpreter/ScriptedProcessInterface.h |
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp |
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h |
Commit
1b86344fa80bd11853e0347ea33dc6cb5a460c4f
by medismail.bennani[lldb/Plugins] Move ScriptedThreadInterface to ScriptedThread
Since we can have multiple Scripted Threads per Scripted Process, having only a single ScriptedThreadInterface (with a single object instance) will cause the method calls to be done on the wrong object.
Instead, this patch creates a separate ScriptedThreadInterface for each new lldb_private::ScriptedThread to make sure we interact with the right instance.
rdar://87427911
Differential Revision: https://reviews.llvm.org/D117070
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h |
 | lldb/include/lldb/Interpreter/ScriptedProcessInterface.h |
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp |
 | lldb/source/Plugins/Process/scripted/ScriptedThread.h |
 | lldb/source/Plugins/Process/scripted/ScriptedThread.cpp |
Commit
d3e0f7e1503b1bca8baa6483d3b5c452a91f60a6
by medismail.bennani[lldb/Plugins] Add support of multiple ScriptedThreads in a ScriptedProcess
This patch adds support of multiple Scripted Threads in a ScriptedProcess.
This is done by fetching the Scripted Threads info dictionary at every ScriptedProcess::DoUpdateThreadList and iterate over each element to create a new ScriptedThread using the object instance, if it was not already available.
This patch also adds the ability to pass a pointer of a script interpreter object instance to initialize a ScriptedInterface instead of having to call the script object initializer in the ScriptedInterface constructor.
This is used to instantiate the ScriptedThreadInterface from the ScriptedThread constructor, to be able to perform call on that script interpreter object instance.
Finally, the patch also updates the scripted process test to check for multiple threads.
rdar://84507704
Differential Revision: https://reviews.llvm.org/D117071
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp |
 | lldb/examples/python/scripted_process/scripted_process.py |
 | lldb/include/lldb/Interpreter/ScriptedProcessInterface.h |
 | lldb/test/API/functionalities/scripted_process/main.c |
 | lldb/test/API/functionalities/scripted_process/main.cpp |
 | lldb/source/Plugins/Process/scripted/ScriptedThread.cpp |
 | lldb/test/API/functionalities/scripted_process/invalid_scripted_process.py |
 | lldb/test/API/functionalities/scripted_process/stack_core_scripted_process.py |
 | lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py |
 | lldb/include/lldb/Interpreter/ScriptedInterface.h |
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp |
 | lldb/source/Plugins/Process/scripted/ScriptedThread.h |
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp |
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h |
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.h |
 | lldb/test/API/functionalities/scripted_process/Makefile |
Commit
cfa55bfe781474a30467b1bbf2e7874985171196
by medismail.bennani[lldb/Plugins] Enrich ScriptedThreads Stop Reasons with Exceptions
This patch adds Exceptions to the list of supported stop reasons for Scripted Threads.
The main motivation for this is that breakpoints are triggered as a special exception class on ARM platforms, so adding it as a stop reason allows the ScriptedProcess to selected the ScriptedThread that stopped at a breakpoint (or crashed :p).
rdar://87430376
Differential Revision: https://reviews.llvm.org/D117074
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/source/Plugins/Process/scripted/ScriptedThread.cpp |
 | lldb/test/API/functionalities/scripted_process/stack_core_scripted_process.py |
 | lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp |
 | lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py |
Commit
45148bfe8aece6ca319dcc32351e20bba26b2ea7
by medismail.bennani[lldb/Plugins] Fix ScriptedThread IndexID reporting
When listing all the Scripted Threads of a ScriptedProcess, we can see that all have the thread index set to 1. This is caused by the lldb_private::Thread constructor, which sets the m_index_id member using the provided thread id `tid`.
Because the call to the super constructor is done before instantiating the `ScriptedThreadInterface`, lldb can't fetch the thread id from the script instance, so it uses `LLDB_INVALID_THREAD_ID` instead.
To mitigate this, this patch takes advantage of the `ScriptedThread::Create` fallible constructor idiom to defer calling the `ScriptedThread` constructor (and the `Thread` super constructor with it), until we can fetch a valid thread id `tid` from the `ScriptedThreadInterface`.
rdar://87432065
Differential Revision: https://reviews.llvm.org/D117076
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp |
 | lldb/source/Plugins/Process/scripted/ScriptedThread.h |
 | lldb/include/lldb/Target/Thread.h |
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp |
 | lldb/source/Plugins/Process/scripted/ScriptedThread.cpp |
Commit
91bb116190cdc598863a7a3fda57e431dd832449
by medismail.bennani[lldb/Interpreter] Make `ScriptedInterface::ErrorWithMessage` static (NFC)
This patch changes the `ScriptedInterface::ErrorWithMessage` method to make it `static` which makes it easier to call.
The patch also updates its various call sites to reflect this change.
Differential Revision: https://reviews.llvm.org/D117374
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/include/lldb/Interpreter/ScriptedInterface.h |
 | lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp |
Commit
bb1fe369774adb86a6bdeec3f56684b6a01c7ff3
by Stanislav.Mekhanoshin[AMDGPU] Make v8i16/v8f16 legal
Differential Revision: https://reviews.llvm.org/D117721
|
 | llvm/test/Analysis/CostModel/AMDGPU/cast.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-flat.mir |
 | llvm/test/CodeGen/AMDGPU/add.v2i16.ll |
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
 | llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll |
 | llvm/test/CodeGen/AMDGPU/load-global-i16.ll |
 | llvm/test/CodeGen/AMDGPU/sub.v2i16.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/arith-usat.ll |
 | llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll |
 | llvm/test/CodeGen/AMDGPU/coalesce-vgpr-alignment.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/add-sub.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fma.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-constant.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-flat.mir |
 | llvm/test/Analysis/CostModel/AMDGPU/arith-ssat.ll |
 | llvm/test/CodeGen/AMDGPU/load-constant-i16.ll |
 | llvm/test/CodeGen/AMDGPU/function-returns.ll |
 | llvm/test/CodeGen/AMDGPU/idot8s.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fptosi.ll |
 | llvm/test/CodeGen/AMDGPU/idot8u.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fptoui.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/mul.ll |
 | llvm/test/CodeGen/AMDGPU/extract_vector_elt-i16.ll |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/SIRegisterInfo.td |
 | llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fsub.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-global.mir |
 | llvm/test/CodeGen/AMDGPU/inlineasm-illegal-type.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fadd.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/fdiv.ll |
 | llvm/test/CodeGen/AMDGPU/kernel-args.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local-128.mir |
 | llvm/test/Analysis/CostModel/AMDGPU/fmul.ll |
Commit
9d32847b331565eb1b38749aa7a721c6be8b64aa
by chfast[DAGCombine] Remove unused param in combineCarryDiamond(). NFC
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
d4be9720e7e68f1316cda971e9b29dc880222200
by rupprecht[test] Fix no-undef-type-md.ll.
There are two test issues: - The test assumes the current directory is writeable, but it may not be. Use `%t.o`-like paths instead of implicit `a.out`. - The `RUN llvm-nm` line is missing a colon, so the test was not being exercised.
|
 | llvm/test/LTO/Resolution/X86/no-undef-type-md.ll |
Commit
c548bc258c693df2087eda824308a8da55fd6003
by spatel[InstCombine] add tests for icmp with masked mul operand; NFC
More coverage for D114272
|
 | llvm/test/Transforms/InstCombine/icmp-mul-and.ll |
Commit
6d020a5ac2d5e31ab8d472e139e9caec405a5006
by amir.aupov[BOLT] Add missing <memory> in InstrumentationRuntimeLibrary.h
<memory> is no longer included as a result of 5f290c090a24 ("Move STLFunctionalExtras out of STLExtras").
Reviewed By: maksfb
Differential Revision: https://reviews.llvm.org/D118064
|
 | bolt/include/bolt/RuntimeLibs/InstrumentationRuntimeLibrary.h |
Commit
0407ab4114dbdbd1845df712639bdbc84ec6df2c
by Louis Dionne[libc++] Make sure basic_string::reserve(n) never shrinks in all Standard modes
Since basic_string::reserve(n) is instantiated in the shared library but also available to the compiler for inlining, its definition should not depend on things like the Standard mode in use. Indeed, that flag may not match between how the shared library is compiled and how users are compiling their own code, resulting in ODR violations.
However, note that we retain the behavior of basic_string::reserve() to shrink the string for backwards compatibility reasons. While it would technically be conforming to not shrink, we believe user expectation is for it to shrink, and so existing code might have been written based on that assumption. We prefer to not break such code, even though that makes basic_string::reserve() and basic_string::reserve(0) not equivalent anymore.
Fixes llvm-project#53170
Differential Revision: https://reviews.llvm.org/D117332
|
 | libcxx/test/libcxx/strings/basic.string/string.capacity/PR53170.pass.cpp |
 | libcxx/docs/ReleaseNotes.rst |
 | libcxx/test/libcxx/strings/basic.string/string.capacity/reserve.pass.cpp |
 | libcxx/include/string |
Commit
1f6af9c9cefd226f2edbc36040f2ffb81c68a3eb
by Louis Dionne[libc++][CI] Re-enable all CI jobs
This essentially reverts commit 89f4a18f371d8 now that our CI is back online at full capacity.
Differential Revision: https://reviews.llvm.org/D116891
|
 | libcxx/utils/ci/buildkite-pipeline.yml |
Commit
c3ca2c6b14f91f8232525373c4f5b1dc504a39a1
by medismail.bennani[lldb/test] Fix `TestScriptedProcess.test_scripted_process_and_scripted_thread`
This patch updates `dummy_scripted_process.py` to report the dummy thread correctly to reflect the changes introduced by `d3e0f7e`.
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py |
 | lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py |
Commit
997e128e2a78f5a5434fc75997441ae1ee76f8a4
by Casey[libcxx][test] the domain of == for forward iterators is iterator values from the same range
* Default-initialized `basic_string` iterators are not portably in the domain of `==`. * Avoid comparing iterators from non-equal string_views which MSVCSTL considers not to be in the domain of equality. * Don't test invalid range `[in, out + N)`.
Also silence some truncation warnings by testing with a non-narrowing conversion.
Differential Revision: https://reviews.llvm.org/D118049
|
 | libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp |
 | libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp |
 | libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp |
 | libcxx/test/std/strings/basic.string/string.iterators/iterators.pass.cpp |
 | libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp |
 | libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp |
 | libcxx/test/std/ranges/range.adaptors/range.transform/iterator/plus_minus.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp |
Commit
6a028296fe62252791a6b470eeb8409b17d48cd0
by quinn.pham[PowerPC] Emit warning when SP is clobbered by asm
This patch emits a warning when the stack pointer register (`R1`) is found in the clobber list of an inline asm statement. Clobbering the stack pointer is not supported.
Reviewed By: #powerpc, nemanjai
Differential Revision: https://reviews.llvm.org/D112073
|
 | clang/lib/Basic/Targets/PPC.cpp |
 | clang/test/Misc/ppc-inline-asm-clobber-warning.c |
 | llvm/lib/Target/PowerPC/PPCRegisterInfo.h |
 | llvm/test/CodeGen/PowerPC/inline-asm-clobber-warning.ll |
 | llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp |
Commit
d3932c690d97df83f030f527456ddadf098b3d04
by Igor.Kirillov[LoopVectorize] Add tests with reductions that are stored in invariant address
This patch adds tests for functionality that is to be implemented in D110235.
Differential Revision: https://reviews.llvm.org/D117213
|
 | llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll |
 | llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll |
 | llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll |
 | llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll |
Commit
adb6494660eb234d009fe333e65bf94e8becf955
by jurahul[MLIR] Add generic walk support to OpState
- This allows calling the generic walkers on specific operation instances.
Differential Revision: https://reviews.llvm.org/D117949
|
 | mlir/include/mlir/IR/OpDefinition.h |
Commit
8d298355ca3778a47fd6b3110aeee03ea5e8e02b
by llvm-dev[X86] combineSetCCMOVMSK - detect and(pcmpeq(),pcmpeq()) ptest pattern.
Handle cases where we've split an allof(cmpeq()) pattern to a legal vector type
|
 | llvm/test/CodeGen/X86/vector-reduce-and-bool.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/vector-compare-all_of.ll |
Commit
3b64ab574d985b70cb4ec0f69c1fc1c1c4527cde
by Yuanfang Chen[NFC][clangd] Use table to collect option aliases
* Suppress a lot of `-Wtautological-compare` warning * Speed up file build a little bit
Reviewed By: kadircet
Differential Revision: https://reviews.llvm.org/D98110
|
 | clang-tools-extra/clangd/CompileCommands.cpp |
Commit
d87459a0b8e98afce89309459f1cc5ef33065f8e
by Yuanfang Chen[CMake] Fixes /INCREMENTAL detection when considering adding /Brepro
/INCREMENTAL is the linker default (lld-link and MSVC link). Specifying "/INCREMENTAL:NO" is the only way to disable it. So checking for the negative flag instead and check exe/module/shared link flags independently.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D117381
|
 | llvm/cmake/modules/HandleLLVMOptions.cmake |
Commit
da85307ba699ea2260252f523e089c85e863d671
by Yuanfang Chen[CMake] Pass CMAKE_C/CXX_COMPILER_LAUNCHER down to cross-compile and runtime build
Similar to D59032.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D117746
|
 | clang/runtime/CMakeLists.txt |
 | llvm/cmake/modules/CrossCompile.cmake |
 | llvm/cmake/modules/LLVMExternalProjectUtils.cmake |
Commit
4cfea311cb8e448e7f66feb25f7aef7f68fa59b8
by changpeng.fang[AMDGPU][NFC] Update to AMDGPUUsage for default Code Object Version
Summary: Update the documentation for default code object version (from v3 to v4).
Reviewers: kzhuravl
Differential Revision: https://reviews.llvm.org/D117845
|
 | llvm/docs/AMDGPUUsage.rst |
Commit
11bb4a11116c4937b5f7e851189c593abf28e682
by llvm-dev[X86] combinePredicateReduction - split vXi16 allof(cmpeq()) to vXi8 allof(cmpeq())
vXi16 patterns allof(cmp()) reduction patterns will have to be pack the comparison results to vXi8 to use PMOVMSKB.
If we're reducing cmpeq(), then we can compare the vXi8 halves directly - similar to what we already do for vXi64 -> vXi32 for cases without PCMPEQQ.
|
 | llvm/test/CodeGen/X86/vector-reduce-and-bool.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
22b0fe3fd9d404f0aa96b42fe0eeb899e90ad487
by muiez[SystemZ][z/OS]: fix lit tmp_dir to use - instead of _
Latest upstream change in https://reviews.llvm.org/D117179 causes lit regressions on z/OS, when TMPDIR is exported and contains _, ld linker fails, it doesnt recognize _ specified in SYSLIN. this seems a limitation on z/OS. we need to fix lit.
Differential Revision: https://reviews.llvm.org/D118071
|
 | llvm/utils/lit/lit/main.py |
Commit
c1562683ee9a3be4246aa2546bf41e40b9cb123c
by arjunpitchanathan[MLIR][Presburger] LinearTransform: rename multiplication functions to be more intuitive
|
 | mlir/lib/Analysis/Presburger/IntegerPolyhedron.cpp |
 | mlir/lib/Analysis/Presburger/LinearTransform.cpp |
 | mlir/include/mlir/Analysis/Presburger/LinearTransform.h |
 | mlir/unittests/Analysis/Presburger/LinearTransformTest.cpp |
Commit
0e98fadc79534dde843275fcb142cc6d3a0eee01
by arjunpitchanathan[MLIR][Presburger] use braces for single-line loop when inner if uses braces [NFC]
|
 | mlir/unittests/Analysis/Presburger/IntegerPolyhedronTest.cpp |
Commit
fe0c5309c4a8bf022b2ec66a0d28513e7fb1441b
by phosek[Fuchsia] Remove i386 from iossim architectures
This is no longer supported in newer SDK versions.
Differential Revision: https://reviews.llvm.org/D118075
|
 | clang/cmake/caches/Fuchsia-stage2.cmake |
Commit
f1c9e7bdc921cec0cc3f61c19c4ac4a7f1bd8525
by kyulee[ObjC Availability] Add missing const to getVersion function of ObjCAvailabilityCheckExpr class
Add missing const to `getVersion` function of `ObjCAvailabilityCheckExpr` class.
This feels like a bug on the original change D22171. We cannot really call this function from a const object pointer because the function is not marked as const.
This diff adds the missing const specifier to fix the issue.
Reviewed By: manmanren
Differential Revision: https://reviews.llvm.org/D112119
|
 | clang/include/clang/AST/ExprObjC.h |
Commit
572fa9642cb50f3c2d79e138e789c4b23f3ab8cf
by jeffniu22[mlir] Add a ControlFlowSink pass.
Control-Flow Sink moves operations whose only uses are in conditionally-executed regions into those regions so that paths in which their results are not needed do not perform unnecessary computation.
Depends on D115087
Reviewed By: jpienaar, rriddle, bondhugula
Differential Revision: https://reviews.llvm.org/D115088
|
 | mlir/include/mlir/Transforms/Passes.h |
 | mlir/test/Transforms/control-flow-sink.mlir |
 | mlir/test/lib/Dialect/Test/TestOps.td |
 | mlir/include/mlir/Interfaces/ControlFlowInterfaces.td |
 | mlir/lib/Transforms/CMakeLists.txt |
 | mlir/lib/Transforms/Utils/ControlFlowSinkUtils.cpp |
 | mlir/include/mlir/Interfaces/ControlFlowInterfaces.h |
 | mlir/include/mlir/Transforms/Passes.td |
 | mlir/lib/Transforms/Utils/CMakeLists.txt |
 | mlir/include/mlir/Transforms/Utils.h |
 | mlir/lib/Transforms/ControlFlowSink.cpp |
 | mlir/test/lib/Dialect/Test/TestDialect.cpp |
Commit
9407a701790fc8c55795f992ded9a40bd37ca7d1
by dblaikieDWARFv5 default: Switch bolt tests to use DWARFv4 since Bolt doesn't support v5 yet
Rough attempt to fix these, since I don't have bolt building locally. Will see how the buildbots go with it...
|
 | bolt/test/X86/inlined-function-mixed.test |
 | bolt/test/keep-aranges.test |
 | bolt/test/non-empty-debug-line.test |
 | bolt/test/X86/inline-debug-info.test |
 | bolt/test/X86/asm-func-debug.test |
Commit
cd8122b27f8fb9cbf222ef946bff3b698625e2f4
by Jonas Devlieghere[lldb] Add ConstString memory usage statistics
Add statistics about the memory usage of the string pool. I'm particularly interested in the memory used by the allocator, i.e. the number of bytes actually used by the allocator it self as well as the number of bytes allocated through the allocator.
Differential revision: https://reviews.llvm.org/D117914
|
 | lldb/include/lldb/Target/Statistics.h |
 | lldb/include/lldb/Utility/ConstString.h |
 | lldb/source/Utility/ConstString.cpp |
 | lldb/test/API/commands/statistics/basic/TestStats.py |
 | lldb/source/Target/Statistics.cpp |
Commit
52f37c24c3f891350394c30096be5e93b063f61e
by nikolasklauser[libc++][NFC] remove this-> when calling member functions in <string>
remove `this->` when calling member functions
Reviewed By: Quuxplusone, Mordante, ldionne, #libc
Spies: libcxx-commits
Differential Revision: https://reviews.llvm.org/D116324
|
 | libcxx/include/string |
Commit
014a673441c6050683e059a547ffcbb03004730d
by nikolasklauser[libc++] Remove std::basic_string's base class in ABIv2
Remove `std::basic_string`'s base class in ABI version 2
Reviewed By: Quuxplusone, ldionne, #libc
Spies: libcxx-commits
Differential Revision: https://reviews.llvm.org/D116334
|
 | libcxx/src/string.cpp |
 | libcxx/include/__config |
 | libcxx/include/string |
Commit
59eb542f6070a017f0d407df908aa53639feb0ea
by sivachandra[libc] Let header generator generate the type header inclusion boiler plate.
Reviewed By: michaelrj
Differential Revision: https://reviews.llvm.org/D117855
|
 | libc/utils/LibcTableGenUtil/APIIndexer.h |
 | libc/config/linux/api.td |
 | libc/config/public_api.td |
 | libc/utils/LibcTableGenUtil/APIIndexer.cpp |
 | libc/utils/HdrGen/PublicAPICommand.cpp |
Commit
3628febcf8e3d88db5871c9f82a33ab98611e5a8
by jeffniu22[mlir] NFC control-flow sink cleanup
|
 | mlir/include/mlir/Interfaces/ControlFlowInterfaces.td |
 | mlir/lib/Transforms/Utils/ControlFlowSinkUtils.cpp |
 | mlir/test/Transforms/control-flow-sink.mlir |
 | mlir/include/mlir/Transforms/Passes.td |
 | mlir/lib/Transforms/ControlFlowSink.cpp |
Commit
3e746c6d9ef0758c1e06901a99a75b638d6a5655
by rob.suderman[mlir] Add support for ExpM1 to GLSL/OpenCL SPIRV Backends
Adding a similar decomposition for exponential minus one to the SPIRV backends along with the necessary tests.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D118081
|
 | mlir/test/Conversion/MathToSPIRV/math-to-glsl-spirv.mlir |
 | mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir |
 | mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp |
Commit
d0d8d2d572cd1db54d0f6d90f8dd3825f9c7b36b
by dschuff[clang][Driver] use DWARF4 for wasm
Opt into the old default of DWARF4 for now.
Differential Revision: https://reviews.llvm.org/D118082
|
 | clang/lib/Driver/ToolChains/WebAssembly.h |
 | clang/test/Driver/debug-options.c |
Commit
dd01d971aa2c4b464a295ca5c78ff93fc4441dc3
by Jan Korous[clang][dataflow] Avoid MaxIterations overflow
unsigned is technically guaranteed to be only 16 bits in which case 1 << 16 would wrap around to zero.
Differential Revision: https://reviews.llvm.org/D117938
|
 | clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp |
Commit
902184e6cc263e4c66440c95a21665b6fdffe57c
by llvm-dev[X86] combinePredicateReduction - generalize allof(cmpeq(x,0)) handling to allof(cmpeq(x,y))
There's no further reasons to limit this to cmpeq-with-zero, the outstanding regressions with lowering to PTEST have now been addressed
Improves codegen for Issue #53379
|
 | llvm/test/CodeGen/X86/vector-reduce-and-bool.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/vector-compare-all_of.ll |
Commit
fd0a4bc76bd93d81ca3acecb2ce07513d64060be
by craig.topper[RISCV] Add missing space to 'clang-format on' directive. NFC
Without a space after the comment characters it seems to be ignored.
|
 | llvm/lib/Target/RISCV/RISCVInstrInfo.cpp |
Commit
15f7857412aebcaa0277803f8eafbd366e236820
by listmail[tests] Refresh autogen tests for SLP
|
 | llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll |
 | llvm/test/Transforms/SLPVectorizer/AMDGPU/address-space-ptr-sze-gep-index-assert.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/aggregate.ll |
 | llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/remark_listcost.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/external_user.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/gep_mismatch.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/pr16899.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/hsub.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/call.ll |
 | llvm/test/Transforms/SLPVectorizer/AArch64/64-bit-vector.ll |
 | llvm/test/Transforms/SLPVectorizer/AArch64/slp-or-reduction.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/hadd-inseltpoison.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/crash_netbsd_decompress.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/insertvalue.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/crash_scheduling.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/PR36280.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/metadata.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssat.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/reduction.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/arith-add-ssat.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/hsub-inseltpoison.ll |
 | llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-di.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/hadd.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/debug_info.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/multi_block.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/no_alternate_divrem.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/crash_scheduling-inseltpoison.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/PR34635.ll |
 | llvm/test/Transforms/SLPVectorizer/PowerPC/aggregate.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/crash_vectorizeTree.ll |
Commit
6693c562f90925dd5214d86875a6f82ca5c6ef93
by hoy[llvm-profgen] Support to load debug info from a second binary
For reducing binary size purpose, the binary's debug info and executable segment can be separated(like using objcopy --only-keep-debug). Here add support in llvm-profgen to use two binaries as input. The original one is executable binary and added for debug info only binary. Adding a flag `--debug-binary=file-path`, with this, the binary will load debug info from debug binary.
Reviewed By: hoy, wenlei
Differential Revision: https://reviews.llvm.org/D115948
|
 | llvm/test/tools/llvm-profgen/separate-debuginfo-binary.test |
 | llvm/tools/llvm-profgen/ProfiledBinary.cpp |
 | llvm/tools/llvm-profgen/llvm-profgen.cpp |
 | llvm/tools/llvm-profgen/ProfiledBinary.h |
Commit
8b29b84c99ac8140c9820fd34b733bdedf5bb0f5
by arthur.j.odwyer[libc++] Fix LWG3422 "Issues of seed_seq's constructors"
https://cplusplus.github.io/LWG/issue3422
Also add a static_assert to check the "Mandates:" on the iterator-pair constructor. Oddly, the `InputIterator` parameter itself is merely preconditioned, not constrained, to satisfy the input iterator requirements.
Also drive-by rename `init` to `__init`.
Differential Revision: https://reviews.llvm.org/D117962
|
 | libcxx/include/__random/seed_seq.h |
 | libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/iterator.verify.cpp |
 | libcxx/docs/Status/Cxx2bIssues.csv |
 | libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/iterator.pass.cpp |
 | libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/default.pass.cpp |
Commit
16bff06790a7652b282352b07250b627e5787c8c
by Jonas Devlieghere[lldb] Make PythonDataObjects work with Python 2
I considered keeping this change strictly downstream. Since we still have a bunch of places that check for Python 2, I figured it doesn't harm to land it upstream and avoid the conflict when I eventually do remove them (hopefully soon!).
|
 | lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp |
Commit
06cfdd5224bf5496e3d3dbdb9f73e77161ad5438
by jhuber6[OpenMP][Fix] Properly inherit calling convention
Previously in OpenMPOpt we did not correctly inherit the calling convention of the callee when creating new OpenMP runtime calls. This created issues when the calling convention was changed during `GlobalOpt` but a new call was creating without the correct calling convention. This lead to the call being replaced with a poison value in `InstCombine` due to undefined behaviour and causing large portions of the program to be incorrectly eliminated. This patch correctly inherits the existing calling convention from the callee.
Reviewed By: tianshilei1992, jdoerfert
Differential Revision: https://reviews.llvm.org/D118059
|
 | llvm/lib/Transforms/IPO/OpenMPOpt.cpp |
 | llvm/test/Transforms/OpenMP/spmdization.ll |
Commit
5eb49009ebe6f1672e6c72f8ea1fe07d4018f682
by jhuber6[OpenMP] Add more identifier to created shared globals
Currenly we push some variables to a global constant containing shared memory as an optimization. This generated constant had internal linkage and should not have collided with any known identifiers in the translation unit. However, there have been observed cases of this optimiztaion unintentionally colliding with undocumented PTX identifiers. This patch adds a suffix to the created globals to hopefully bypass this.
Depends on D118059
Reviewed By: tianshilei1992
Differential Revision: https://reviews.llvm.org/D118068
|
 | llvm/test/Transforms/OpenMP/spmdization.ll |
 | llvm/lib/Transforms/IPO/OpenMPOpt.cpp |
 | llvm/test/Transforms/OpenMP/replace_globalization.ll |
Commit
92c1c63daeaf0b6b7abc6561133e2d3dbda80f8c
by ajcbik[mlir][sparse] integration test for sparse output operation
Reviewed By: bixia
Differential Revision: https://reviews.llvm.org/D118079
|
 | mlir/test/Integration/Dialect/SparseTensor/python/test_output.py |
Commit
ff8f7904d14d77e40f90c2f8306ecb737b02c997
by joker.ephRemove null check after dereferencing the pointer (NFC)
Flagged by Coverity
|
 | mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocation.cpp |
Commit
9ea3dfa5d015f61ff282ed88d08125bb38fd19a8
by jacquesguan[RISCV][NFC] Rename RequiredExtensions to RequiredFeatures.
The field 'RequiredExtensions' is used to specify the constraint for rvv builtin, and it contains something which is not a sub-extension or extension such as 'RV64'. So the word 'extension' is not accurate now, 'feature' seems better.
Differential Revision: https://reviews.llvm.org/D118015
|
 | clang/utils/TableGen/RISCVVEmitter.cpp |
 | clang/include/clang/Basic/riscv_vector.td |
Commit
0e55d4fab0183b6dca82ce127b78ded3db918c27
by ybrevnov[AA] Refine ModRefInfo for llvm.memcpy.* in presence of operand bundles
Presence of operand bundles changes semantics in respect to ModRef. In particular, spec says: "From the compilers perspective, deoptimization operand bundles make the call sites theyre attached to at least readonly. They read through all of their pointer typed operands (even if theyre not otherwise escaped) and the entire visible heap. Deoptimization operand bundles do not capture their operands except during deoptimization, in which case control will not be returned to the compiled frame". Fix handling of llvm.memcpy.* according to the spec.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D118033
|
 | llvm/test/Analysis/BasicAA/deoptimize.ll |
 | llvm/lib/Analysis/BasicAliasAnalysis.cpp |
Commit
810f13f0ebde70e679a097a9f5dbe37fe58ffa27
by richard[clang-tools-extra] Fix documentation build (NFC)
|
 | clang-tools-extra/docs/ReleaseNotes.rst |
Commit
e01e4c9115ad49479d01b6b6de4e83ee454bab24
by harshFix bugs in GPUToNVVM lowering
The current lowering from GPU to NVVM does not correctly handle the following cases when lowering the gpu shuffle op.
1. When the active width is set to 32 (all lanes), then the current approach computes (1 << 32) -1 which results in poison values in the LLVM IR. We fix this by defining the active mask as (-1) >> (32 - width).
2. In the case of shuffle up, the computation of the third operand c has to be different from the other 3 modes due to the op definition in the ISA reference. (https://docs.nvidia.com/cuda/parallel-thread-execution/index.html) Specifically, the predicate value is computed as j >= maxLane for up and j <= maxLane for all other modes. We fix this by computing maskAndClamp as 32 - width for this mode.
TEST: We modify the existing test and add more checks for the up mode.
Reviewed By: ThomasRaoux
Differential Revision: https://reviews.llvm.org/D118086
|
 | mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp |
 | mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir |
Commit
0e9a4a3b65363c082087864b9ff5e0da33be90da
by riddleriver[mlir] Move the Buffer related source files out of Transforms/
Transforms/ should only contain dialect-independent transformations, and these files are a much better fit for the bufferization dialect anyways.
Differential Revision: https://reviews.llvm.org/D117839
|
 | mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocation.cpp |
 | mlir/lib/Dialect/StandardOps/Transforms/TensorConstantBufferize.cpp |
 | mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td |
 | mlir/lib/Transforms/BufferResultsToOutParams.cpp |
 | mlir/include/mlir/Transforms/Passes.h |
 | mlir/include/mlir/Transforms/BufferUtils.h |
 | mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h |
 | mlir/include/mlir/Transforms/Passes.td |
 | mlir/include/mlir/Dialect/Bufferization/Transforms/BufferUtils.h |
 | mlir/lib/Transforms/BufferOptimizations.cpp |
 | mlir/lib/Transforms/CMakeLists.txt |
 | mlir/lib/Dialect/Linalg/ComprehensiveBufferize/ArithInterfaceImpl.cpp |
 | mlir/lib/Dialect/Bufferization/Transforms/BufferOptimizations.cpp |
 | mlir/lib/Transforms/PassDetail.h |
 | mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt |
 | mlir/include/mlir/Dialect/StandardOps/Transforms/Passes.h |
 | mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp |
 | mlir/lib/Transforms/BufferUtils.cpp |
 | mlir/lib/Dialect/Bufferization/Transforms/BufferUtils.cpp |
Commit
2e2c0738e80e9c2b7c1413ca4719d5be2df4c6b5
by riddleriver[mlir:Transforms] Move NormalizeMemRefs to MemRef/Transforms/
Transforms/ should only contain transformations that are dialect-independent and this pass interacts with MemRef operations (making it a better fit for living in that dialect).
Differential Revision: https://reviews.llvm.org/D117841
|
 | mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt |
 | mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp |
 | mlir/include/mlir/Dialect/MemRef/Transforms/Passes.h |
 | mlir/lib/Dialect/MemRef/Transforms/PassDetail.h |
 | mlir/include/mlir/Dialect/MemRef/Transforms/Passes.td |
 | mlir/include/mlir/Transforms/Passes.h |
 | mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp |
 | mlir/lib/Transforms/NormalizeMemRefs.cpp |
 | mlir/lib/Transforms/CMakeLists.txt |
 | mlir/include/mlir/Transforms/Passes.td |
Commit
a70aa7bb0d9a6066831b339e0a09a2c1bc74fe2b
by riddleriver[mlir:Transforms] Move out the remaining non-dialect independent transforms and utilities
This has been a major TODO for a very long time, and is necessary for establishing a proper dialect-free dependency layering for the Transforms library. Code was moved to effectively two main locations:
* Affine/ There was quite a bit of affine dialect related code in Transforms/ do to historical reasons (of a time way into MLIR's past). The following headers were moved to: Transforms/LoopFusionUtils.h -> Dialect/Affine/LoopFusionUtils.h Transforms/LoopUtils.h -> Dialect/Affine/LoopUtils.h Transforms/Utils.h -> Dialect/Affine/Utils.h
The following transforms were also moved: AffineLoopFusion, AffinePipelineDataTransfer, LoopCoalescing
* SCF/ Only one SCF pass was in Transforms/ (likely accidentally placed here): ParallelLoopCollapsing The SCF specific utilities in LoopUtils have been moved to SCF/Utils.h
* Misc: mlir::moveLoopInvariantCode was also moved to LoopLikeInterface.h given that it is a simple utility defined in terms of LoopLikeOpInterface.
Differential Revision: https://reviews.llvm.org/D117848
|
 | mlir/test/lib/Transforms/CMakeLists.txt |
 | mlir/lib/Dialect/Linalg/Transforms/CodegenStrategy.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp |
 | mlir/lib/Dialect/Vector/VectorTransferSplitRewritePatterns.cpp |
 | mlir/lib/Dialect/Vector/VectorTransforms.cpp |
 | mlir/test/lib/Dialect/Affine/TestLoopFusion.cpp |
 | mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp |
 | mlir/include/mlir/Dialect/SCF/Passes.td |
 | mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt |
 | mlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp |
 | mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp |
 | mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp |
 | mlir/lib/Transforms/LoopFusion.cpp |
 | mlir/lib/Dialect/Affine/Utils/CMakeLists.txt |
 | mlir/include/mlir/Transforms/Passes.h |
 | mlir/test/lib/Dialect/Affine/TestLoopPermutation.cpp |
 | mlir/test/lib/Dialect/SCF/TestLoopParametricTiling.cpp |
 | mlir/include/mlir/Transforms/ControlFlowSinkUtils.h |
 | mlir/lib/Transforms/ControlFlowSink.cpp |
 | mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp |
 | mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp |
 | mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp |
 | mlir/test/lib/Dialect/Affine/CMakeLists.txt |
 | mlir/unittests/Transforms/CMakeLists.txt |
 | mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp |
 | mlir/lib/Interfaces/LoopLikeInterface.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp |
 | mlir/include/mlir/Transforms/LoopFusionUtils.h |
 | mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp |
 | mlir/lib/Transforms/PassDetail.h |
 | mlir/include/mlir/Dialect/Affine/Utils.h |
 | mlir/lib/Transforms/CSE.cpp |
 | mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp |
 | mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp |
 | mlir/test/lib/Dialect/SCF/CMakeLists.txt |
 | mlir/include/mlir/Transforms/LoopUtils.h |
 | mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp |
 | mlir/lib/Dialect/Linalg/Utils/Utils.cpp |
 | mlir/test/lib/Transforms/TestLoopMapping.cpp |
 | mlir/test/lib/Transforms/TestConstantFold.cpp |
 | mlir/include/mlir/Dialect/SCF/Passes.h |
 | mlir/lib/Transforms/Utils/DialectConversion.cpp |
 | mlir/lib/Transforms/ParallelLoopCollapsing.cpp |
 | mlir/include/mlir/Transforms/Passes.td |
 | mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp |
 | mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp |
 | mlir/include/mlir/Dialect/Affine/Passes.h |
 | mlir/test/lib/Dialect/Affine/TestLoopMapping.cpp |
 | mlir/lib/Transforms/CMakeLists.txt |
 | mlir/lib/Dialect/Affine/Transforms/PassDetail.h |
 | mlir/lib/Dialect/SCF/Transforms/Utils.cpp |
 | mlir/lib/Transforms/Utils/Utils.cpp |
 | mlir/test/lib/Dialect/Affine/TestAffineLoopParametricTiling.cpp |
 | mlir/test/lib/Transforms/TestLoopUnrolling.cpp |
 | mlir/lib/Dialect/Vector/VectorUnrollDistribute.cpp |
 | mlir/lib/Transforms/Utils/CMakeLists.txt |
 | mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp |
 | mlir/lib/Transforms/Utils/LoopUtils.cpp |
 | mlir/test/lib/Transforms/TestLoopParametricTiling.cpp |
 | mlir/test/lib/Dialect/SCF/TestLoopUnrolling.cpp |
 | mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp |
 | mlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp |
 | mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp |
 | mlir/lib/Transforms/LoopCoalescing.cpp |
 | mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp |
 | mlir/lib/Transforms/LoopInvariantCodeMotion.cpp |
 | mlir/include/mlir/Dialect/SCF/Utils.h |
 | mlir/include/mlir/Dialect/Affine/LoopUtils.h |
 | mlir/include/mlir/Transforms/Utils.h |
 | mlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp |
 | mlir/test/lib/Transforms/TestLoopFusion.cpp |
 | mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt |
 | mlir/include/mlir/Dialect/Affine/LoopFusionUtils.h |
 | mlir/include/mlir/Interfaces/LoopLikeInterface.h |
 | mlir/lib/Transforms/Utils/ControlFlowSinkUtils.cpp |
 | mlir/lib/Dialect/Affine/Utils/Utils.cpp |
 | mlir/lib/Transforms/PipelineDataTransfer.cpp |
 | mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp |
 | mlir/lib/Conversion/SCFToStandard/SCFToStandard.cpp |
 | mlir/lib/Dialect/SCF/Transforms/ParallelLoopCollapsing.cpp |
 | mlir/lib/Transforms/Utils/LoopFusionUtils.cpp |
 | mlir/include/mlir/Dialect/Affine/Passes.td |
Commit
88c1df64bdd379b4fb5a7946124c7f52a9c795da
by riddleriver[mlir:ArmSVE][NFC] Remove dead code and unnecessary dependencies
Differential Revision: https://reviews.llvm.org/D117981
|
 | mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td |
 | mlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp |
 | mlir/lib/Dialect/ArmSVE/IR/CMakeLists.txt |
 | mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp |
Commit
65e7cd13bbc6c16804614235aaeaed2e2ed94358
by riddleriver[mlir] Remove a bunch of unnecessary dialect dependencies
A lot of dialects have dependencies that are unnecessary, either because of copy/paste of files when creating things or some other means. This commit cleans up a bunch of the simple ones:
* Copy/Paste or missed during refactoring Most of the dependencies cleaned up here look like copy/paste errors when creating new dialects/transformations, or because the dependency wasn't removed during a refactoring (e.g. when splitting the standard dialect).
* Unnecessary hard coding of constant operations in matchers There are a few instances where a dialect had a dependency because it was hardcoding checks for constant operations instead of using the better m_Constant approach.
Differential Revision: https://reviews.llvm.org/D118062
|
 | mlir/lib/Dialect/SCF/SCF.cpp |
 | mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp |
 | mlir/lib/Dialect/GPU/IR/GPUDialect.cpp |
 | mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp |
 | mlir/lib/Dialect/Shape/IR/ShapeCanonicalization.td |
 | mlir/lib/Dialect/Quant/CMakeLists.txt |
 | mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp |
 | mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp |
 | mlir/include/mlir/Dialect/GPU/GPUOps.td |
 | mlir/lib/Dialect/SCF/CMakeLists.txt |
 | mlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp |
 | mlir/lib/Dialect/Quant/Transforms/ConvertConst.cpp |
 | mlir/lib/Dialect/OpenACC/CMakeLists.txt |
 | mlir/lib/Dialect/Shape/IR/CMakeLists.txt |
 | mlir/lib/Dialect/Shape/IR/Shape.cpp |
 | mlir/lib/Dialect/SparseTensor/IR/CMakeLists.txt |
Commit
03e9ba274072a8921d78c678222fb0b43111125b
by Ahmed Bougacha[ObjCARC] Remove unused RetainRVDep dependency kind. NFC.
|
 | llvm/lib/Transforms/ObjCARC/DependencyAnalysis.h |
 | llvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp |
Commit
e7298464c5d004a119583cdb8a120dc3d968508d
by Ahmed Bougacha[ObjCARC] Use "UnsafeClaimRV" to refer to unsafeClaim in enums. NFC.
This matches the actual runtime function more closely. I considered also renaming both RetainRV/UnsafeClaimRV to end with "ARV", for AutoreleasedReturnValue, but there's less potential for confusion there.
|
 | llvm/include/llvm/Analysis/ObjCARCInstKind.h |
 | llvm/lib/Transforms/Utils/InlineFunction.cpp |
 | llvm/lib/Analysis/ObjCARCInstKind.cpp |
 | llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h |
 | llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp |
 | llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp |
 | llvm/include/llvm/Analysis/ObjCARCUtil.h |
 | llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp |
Commit
07be76f2ae19a3b656b01d9e630fccf944aec0b3
by minyihh[M68k][Disassembler][NFC] Re-organize test files
Put test cases of each instruction category into their own files. NFC.
|
 | llvm/test/MC/Disassembler/M68k/instructions.txt |
 | llvm/test/MC/Disassembler/M68k/arithmetic.txt |
 | llvm/test/MC/Disassembler/M68k/shift-rotate.txt |
 | llvm/test/MC/Disassembler/M68k/data.txt |
 | llvm/test/MC/Disassembler/M68k/bits.txt |
 | llvm/test/MC/Disassembler/M68k/control.txt |
Commit
63b8018468420a1e848068385dcfaab04f730d54
by riddleriver[mlir:LoopLikeInterface] Add missing dependency on SideEffectInterfaces
This was missed when moveLoopInvariantCode was added.
|
 | mlir/lib/Interfaces/CMakeLists.txt |
Commit
e51a20e166b6c4c7e610fa323d8dcf1213ce88a3
by joker.ephFix python test to register all passes before using "normalize-memrefs"
The pass moved from mlir.transforms to the Memref dialect.
|
 | mlir/test/python/pass_manager.py |
Commit
61b81e0f49510918cb11d79b4636de17b014806b
by riddleriver[mlir:MLIRAffineUtils] Add missing dependency on MLIRAffineAnalysis
This was missed in a70aa7bb0d9a6066831b339e0a09a2c1bc74fe2b.
|
 | mlir/lib/Dialect/Affine/Utils/CMakeLists.txt |
Commit
71cb5ed03c9b564c5bf65c46ea0d89e886b2302f
by rupprecht[bazel] Update MLIR deps
I believe this is due to D117839, D117848, maybe others.
Latest build failure: https://buildkite.com/llvm-project/upstream-bazel-rbe/builds/18053
|
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
Commit
b827b6340bf821abf443eccf84756f571e2ee47e
by riddleriver[mlir] Add missing dependencies after D118062
These used to be covered transitively, but now need to be explicit.
|
 | mlir/lib/Dialect/Tosa/CMakeLists.txt |
 | mlir/lib/Conversion/AffineToStandard/CMakeLists.txt |
Commit
e697b971487d5288b18ae261b5840665510436c6
by riddleriver[mlir] Add more missing dependencies after D118062
These used to be covered transitively, but now need to be explicit.
|
 | mlir/lib/Conversion/VectorToGPU/CMakeLists.txt |
Commit
8676e10f744ce3500b491af16bd96713e9ce2803
by uday[MLIR] Improve doc for -mlir-print-local-scope and unhide
This is a pretty important debugging option to stay hidden. Also, improve its cmd-line description; the current description gives no hint that this is the one to use to have locations printed inline. Out-of-line locations are also unproductive to work with in many cases where the locations are actually compact, which is also why this option should be more visible. This revision doesn't change the default on it though.
Reviewed By: rriddle, jpienaar
Differential Revision: https://reviews.llvm.org/D117186
|
 | mlir/lib/IR/AsmPrinter.cpp |
Commit
633f5badbf1315e972e9abb141111648a8fd77fd
by riddleriver[mlir] Add more missing dependencies after D118062
These used to be covered transitively, but now need to be explicit.
|
 | mlir/lib/Dialect/ArmSVE/Transforms/CMakeLists.txt |
 | mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt |
 | mlir/lib/Conversion/ArmNeon2dToIntr/CMakeLists.txt |
 | mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt |
 | mlir/lib/Dialect/Math/Transforms/CMakeLists.txt |
 | mlir/lib/Conversion/SCFToSPIRV/CMakeLists.txt |
 | mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt |
 | mlir/lib/Dialect/GPU/CMakeLists.txt |
 | mlir/lib/Dialect/Linalg/Utils/CMakeLists.txt |
 | mlir/lib/Conversion/ArithmeticToSPIRV/CMakeLists.txt |
 | mlir/lib/Conversion/VectorToSCF/CMakeLists.txt |
 | mlir/lib/Dialect/StandardOps/Transforms/CMakeLists.txt |
 | mlir/lib/Conversion/ArithmeticToLLVM/CMakeLists.txt |
 | mlir/lib/Conversion/MathToLibm/CMakeLists.txt |
Commit
c913dccfde69617e2357ac25532f25d2a81bca2c
by mkazantsev[SCEV] Use lshr in implications
This patch adds support for implication inference logic for the following pattern: ``` lhs < (y >> z) <= y, y <= rhs --> lhs < rhs ``` We should be able to use the fact that value shifted to right is not greater than the original value (provided it is non-negative).
Differential Revision: https://reviews.llvm.org/D116150 Reviewed-By: apilipenko
|
 | llvm/lib/Analysis/ScalarEvolution.cpp |
 | llvm/include/llvm/Analysis/ScalarEvolution.h |
 | llvm/test/Transforms/IndVarSimplify/shift-range-checks.ll |
Commit
f6984b299afcbeddefe53db7ee1ce62e5d68cc4f
by chen3.liuFix the wrong value of bit_AVXVNNI
Differential Revision: https://reviews.llvm.org/D118103
|
 | clang/lib/Headers/cpuid.h |
Commit
320dc8c4df74ccce318c2c9bdb9b2937438711ac
by Shraiysh.Vaishay[mlir][OpenMP] Added omp.atomic.capture operation
This patch supports the atomic construct (capture) following section 2.17.7 of OpenMP 5.0 standard. Also added tests for the same.
Reviewed By: peixin, kiranchandramohan
Differential Revision: https://reviews.llvm.org/D115851
|
 | mlir/test/Dialect/OpenMP/invalid.mlir |
 | mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp |
 | mlir/test/Dialect/OpenMP/ops.mlir |
 | mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td |
Commit
881ff4e4ebe8cc0cc045c7c167cffb01f94f27f8
by riddleriver[mlir] Remove unnecessary dependency on Tensor from MemRef
|
 | mlir/lib/Conversion/StandardToSPIRV/CMakeLists.txt |
 | mlir/lib/Dialect/Affine/IR/CMakeLists.txt |
 | mlir/lib/Dialect/MemRef/IR/CMakeLists.txt |
Commit
bca2d85153dc4a7bff5f671a742e12512a2bc31f
by l.chelini[MLIR][Interfaces] Silence -Wparentheses warning (NFC)
warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
|
 | mlir/include/mlir/Interfaces/ControlFlowInterfaces.h |
Commit
70cb8daed45fb8a794761a9cfca8432c8ee7c70b
by martin[X86] [CodeView] Add codeview mappings for registers ST0-ST7
These can end up needed after https://reviews.llvm.org/D116821.
Suggested by Alexandre Ganea.
Differential Revision: https://reviews.llvm.org/D118072
|
 | llvm/test/DebugInfo/COFF/x87-registers.ll |
 | llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp |
Commit
9554aaa2753bd866a00bf6fb4183656200e758e2
by npopov[Dwarf] Optimize getOrCreateSourceID() for repeated calls on same file (NFCI)
DwarfCompileUnit::getOrCreateSourceID() is often called many times in sequence with the same DIFile. This is currently very expensive, because it involves creating a string from directory and file name and looking it up in a string map. This patch remembers the last DIFile and its ID and directly returns that.
This gives a geomean -1.3% compile-time improvement on CTMark O0-g.
Differential Revision: https://reviews.llvm.org/D118041
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h |
 | llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp |
Commit
2a14bc55c547f0fc7285b783b5320338c3ffdc42
by yedeng.yd[NFC] [C++20] [Modules] Update comments for handling friend
There is a comment contains a FIXME for the Module TS. And now the Module TS is merged so we should update the comment. I've checked the implementation.
|
 | clang/lib/Sema/SemaDecl.cpp |
Commit
aa97bc116d343f7b6f222d7229668de5d361b312
by npopov[NFC] Remove uses of PointerType::getElementType()
Instead use either Type::getPointerElementType() or Type::getNonOpaquePointerElementType().
This is part of D117885, in preparation for deprecating the API.
|
 | clang/lib/CodeGen/CGCall.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp |
 | llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp |
 | llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp |
 | llvm/tools/llvm-stress/llvm-stress.cpp |
 | llvm/lib/Transforms/Coroutines/CoroFrame.cpp |
 | llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp |
 | llvm/lib/Transforms/Scalar/SROA.cpp |
 | llvm/lib/Target/Sparc/SparcISelLowering.cpp |
 | llvm/lib/FuzzMutate/Operations.cpp |
 | llvm/lib/Target/BPF/BTFDebug.cpp |
 | llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp |
 | llvm/lib/Analysis/IVDescriptors.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp |
 | clang/lib/CodeGen/TargetInfo.cpp |
 | llvm/lib/IR/AutoUpgrade.cpp |
 | llvm/lib/IR/AsmWriter.cpp |
 | llvm/lib/Transforms/IPO/ArgumentPromotion.cpp |
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp |
 | llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp |
 | llvm/lib/Transforms/Instrumentation/MemProfiler.cpp |
 | llvm/lib/Analysis/AliasAnalysisEvaluator.cpp |
 | llvm/include/llvm/IR/MatrixBuilder.h |
 | clang/lib/CodeGen/CGObjCGNU.cpp |
 | llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp |
 | clang/lib/CodeGen/CGClass.cpp |
 | llvm/lib/AsmParser/LLParser.cpp |
 | llvm/lib/IR/Function.cpp |
 | llvm/lib/Bitcode/Reader/BitcodeReader.cpp |
 | llvm/include/llvm/IR/Statepoint.h |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/include/llvm/FuzzMutate/OpDescriptor.h |
 | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp |
 | llvm/lib/Analysis/ConstantFolding.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp |
 | llvm/lib/IR/IRBuilder.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp |
 | clang/lib/CodeGen/ItaniumCXXABI.cpp |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | llvm/lib/Transforms/Scalar/Scalarizer.cpp |
 | llvm/lib/IR/ConstantFold.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp |
 | llvm/lib/FuzzMutate/RandomIRBuilder.cpp |
 | llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp |
 | llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp |
 | llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp |
 | llvm/lib/IR/Verifier.cpp |
 | llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
 | llvm/lib/IR/Core.cpp |
Commit
22487280dcea8261996385b852ca4470b8e4846b
by npopov[NFC] Remove more uses of PointerType::getElementType() (NFC)
Replace more uses which I missed in the first pass with Type::getPointerElementType().
|
 | mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp |
 | mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp |
 | llvm/unittests/AsmParser/AsmParserTest.cpp |
Commit
184591aeeb5a531f2315c3d7cddcd199c87ecb2c
by npopov[OpaquePtrs] Deprecate PointerType::getElementType()
This deprecates PointerType::getElementType() in favor of Type::getPointerElementType(). The motivation is to make it more apparent when code accesses the pointer element type, because getElementType() may also also refer to at least ArrayType::getElementType() and VectorType::getElementType().
Differential Revision: https://reviews.llvm.org/D117885
|
 | llvm/include/llvm/IR/DerivedTypes.h |
Commit
13252160c3984b52a210bfa6ec64b9be4c911920
by david.sherwood[NFC] Move useSVEForFixedLengthVectors into AArch64Subtarget.h
Given how small the function is and how often it gets used it makes more sense to live in the header file.
Differential Revision: https://reviews.llvm.org/D117883
|
 | llvm/lib/Target/AArch64/AArch64Subtarget.cpp |
 | llvm/lib/Target/AArch64/AArch64Subtarget.h |
Commit
2233befa5dc4c2c0ed597b295cfa353039c21e23
by victor.perez[LegalizeTypes][VP] Add splitting support for vp.gather and vp.scatter
Split these nodes in a similar way as their masked versions.
Reviewed By: frasercrmck, craig.topper
Differential Revision: https://reviews.llvm.org/D117760
|
 | llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h |
 | llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll |
Commit
48f763edb4718a2b2226d9654b96d4b69d66883e
by hsiangkai[docs] Refine the description in Set-Like and Map-Like container options.
In "Other Set-Like Container Options": * Drops the references to C++ TR1 and SGI and hash_set. * Drops the worry about portability (this was a problem with hash_set, but std::unordered_set has worked portably since LLVM started depending on C++11).
It is similar in "Other Map-Like Container Options" section.
Differential Revision: https://reviews.llvm.org/D117858
|
 | llvm/docs/ProgrammersManual.rst |
Commit
901dd53cbf6130cb157b0bae20141b5a01a8b903
by hsiangkai[docs] There are more than three bit storage containers.
To avoid listing all the bit containers in the title and do not use the specific number for the number of bit containers.
Differential Revision: https://reviews.llvm.org/D117849
|
 | llvm/docs/ProgrammersManual.rst |
Commit
e2f8d28afba0a6545284ad3b54a4b7532c3253b6
by Dávid Bolvanský[NFC] Added test with select with unpredictable metadata; regenerate x86-cmov-converter.ll
|
 | llvm/test/CodeGen/X86/x86-cmov-converter.ll |
Commit
9fa6ad4c589316d71a61834fefd6d411249e4843
by Dávid BolvanskýRevert "[NFC] Added test with select with unpredictable metadata; regenerate x86-cmov-converter.ll"
This reverts commit e2f8d28afba0a6545284ad3b54a4b7532c3253b6.
|
 | llvm/test/CodeGen/X86/x86-cmov-converter.ll |
Commit
5f5c5603ce40e9372c108645be92828d4fe6df6f
by fraser[SelectionDAG][VP] Add splitting support for VP_MERGE
This patch adds splitting support for ISD::VP_MERGE, which splits identically to VP_SELECT and similarly to other select-like nodes.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D118032
|
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll |
 | llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp |
Commit
19d3dc6e226c0714d08c5cd130d8f5ba63bbd4f2
by victor.perez[VP] Update CodeGen/RISCV/rvv/vpgather-sdnode.ll test
|
 | llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll |
Commit
2074eef5db330ab437410bfb617b58ea70f4fbff
by benny.kra[bazel] Adjust dependencies after a70aa7bb
These are all picked up transitively, but fail with --features=layering_check, which enforces header dependencies.
|
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
 | utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel |
Commit
f302e0b5dd402e629620a58f9115a3441c65d60f
by simon.tatham[AArch64] Exclude optional features from HasV8_0rOps.
The following SubtargetFeatures are removed from the definition of HasV8_0rOps, on the grounds that they are optional in Armv8.4-A, and therefore (by the definition of Armv8.0-R) also optional in v8.0-R:
* performance monitoring: FeaturePerfMon * cryptography: FeatureSM4 and FeatureSHA3 * half-precision FP: FeatureFullFP16, FeatureFP16FML * speculation control: FeatureSSBS, FeaturePredRes, FeatureSB, FeatureSpecRestrict
This isn't the full set of features that are listed as optional in the spec. FeatureCCIDX and FeatureTRACEV8_4 are also optional. But LLVM includes those in HasV8_3aOps and HasV8_4aOps respectively (I think on the grounds that the system registers they enable are useful to be able to access after a runtime check), and so for consistency, I've left those in HasV8_0rOps too.
After this commit, HasV8_0rOps is a strict subset of HasV8_4aOps (but missing features that are not in Armv8.0-R at all).
The definition of Cortex-R82 is correspondingly updated to add most of the features that I've removed from base Armv8.0-R (with the exception of the cryptography ones), since that particular implementation of v8.0-R does have them.
Reviewed By: dmgreen
Differential Revision: https://reviews.llvm.org/D118045
|
 | llvm/lib/Target/AArch64/AArch64.td |
 | llvm/test/MC/Disassembler/AArch64/armv8.5a-predres.txt |
 | llvm/test/MC/Disassembler/AArch64/armv8.5a-specrestrict.txt |
 | llvm/test/MC/Disassembler/AArch64/armv8.3a-complex.txt |
 | llvm/test/MC/Disassembler/AArch64/armv8.5a-ssbs.txt |
 | llvm/test/MC/AArch64/armv8.2a-crypto.s |
 | llvm/test/MC/Disassembler/AArch64/armv8a-fpmul.txt |
Commit
99adacbcb7895114a62266c8a15e794bacd2380c
by npopov[clang] Remove some getPointerElementType() uses
Same cases where the call can be removed in a straightforward way.
|
 | clang/lib/CodeGen/TargetInfo.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/lib/CodeGen/CGExprScalar.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp |
 | clang/lib/CodeGen/CGCall.h |
 | clang/lib/CodeGen/CGAtomic.cpp |
Commit
7cb452bfde1086f7bcddfd6de5594ebcb4c11bf5
by fraser[SelectionDAG][VP] Add widening support for VP_MERGE
This patch adds widening support for ISD::VP_MERGE, which widens identically to VP_SELECT and similarly to other select-like nodes.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D118030
|
 | llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll |
Commit
0f08db66db93b42ff26caca2159bd548436184ae
by pavel[lldb] Make logging machinery type-safe
This patch makes use of c++ type checking and scoped enums to make logging statements shorter and harder to misuse.
Defines like LIBLLDB_LOG_PROCESS are replaces with LLDBLog::Process. Because it now carries type information we do not need to worry about matching a specific enum value with the right getter function -- the compiler will now do that for us.
The main entry point for the logging machinery becomes the GetLog (template) function, which will obtain the correct Log object based on the enum type. It achieves this through another template function (LogChannelFor<T>), which must be specialized for each type, and should return the appropriate channel object.
This patch also removes the ability to log a message if multiple categories are enabled simultaneously as it was unused and confusing.
This patch does not actually remove any of the existing interfaces. The defines and log retrieval functions are left around as wrappers around the new interfaces. They will be removed in follow-up patch.
Differential Revision: https://reviews.llvm.org/D117490
|
 | lldb/include/lldb/Utility/Log.h |
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp |
 | lldb/unittests/Utility/LogTest.cpp |
 | lldb/include/lldb/Utility/Logging.h |
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp |
 | lldb/source/Utility/Log.cpp |
 | lldb/tools/lldb-server/lldb-gdbserver.cpp |
 | lldb/include/lldb/Interpreter/ScriptedInterface.h |
 | lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp |
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h |
 | lldb/source/Utility/Logging.cpp |
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h |
 | lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.cpp |
 | lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.h |
 | lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp |
Commit
ce6903595b7161f881b62834c55b3099853cabd5
by pavel[lldb/test] Use abspath when searching for lldb.exe
realpath is too aggressive and does not produce the desired effect if ones build folder is a symlink farm.
|
 | lldb/packages/Python/lldbsuite/test/dotest.py |
Commit
109cc5adccaec4c2264c0db3d54bbec1183bf95d
by bjorn.a.pettersson[DAGCombine] Fold SRA of a load into a narrower sign-extending load
An sra is basically sign-extending a narrower value. Fold away the shift by doing a sextload of a narrower value, when it is legal to reduce the load width accordingly.
Differential Revision: https://reviews.llvm.org/D116930
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/PowerPC/pr13891.ll |
 | llvm/test/CodeGen/X86/combine-sra-load.ll |
Commit
dbbe0109086d8e813fbabf3114da737086250ff9
by yedeng.yd[MLIR] [AsyncToLLVM] Use llvm.coro.align intrinsic
Use llvm.coro.align to align coroutine frame properly.
Reviewed By: bkramer
Differential Revision: https://reviews.llvm.org/D117978
|
 | mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp |
 | mlir/test/Conversion/AsyncToLLVM/convert-coro-to-llvm.mlir |
 | mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir |
 | mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td |
Commit
a83e9266b96c4e5f92611af6f4d95fef6aeef12a
by akuegel[mlir][Bazel] Update BUILD.bazel file
|
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
Commit
caff8591eff211c41d8de8505f89754d09ca6fa7
by npopov[OpenMP] Simplify pointer comparison
Rather than checking ptrdiff(a, b) != 0, directly check a != b.
|
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/test/OpenMP/declare_mapper_codegen.cpp |
Commit
91a0b464a853821734db8b1c521df03f8e2e56e7
by sven.vanhaastregt[OpenCL] Make read_write images optional for -fdeclare-opencl-builtins
Ensure any use of a `read_write` image is guarded behind the `__opencl_c_read_write_images` feature macro.
Differential Revision: https://reviews.llvm.org/D117899
|
 | clang/lib/Headers/opencl-c-base.h |
 | clang/test/SemaOpenCL/fdeclare-opencl-builtins.cl |
 | clang/lib/Sema/OpenCLBuiltins.td |
Commit
30d4a7e2955356c69ae412bfe2de46b92a2202c1
by npopov[IRBuilder] Require explicit element type in CreatePtrDiff()
For opaque pointer compatibility, we cannot derive the element type from the pointer type.
|
 | llvm/lib/IR/Core.cpp |
 | llvm/include/llvm/IR/IRBuilder.h |
 | llvm/lib/IR/IRBuilder.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp |
 | llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp |
Commit
d8962b4139a58ba6955cd4e15dc432c674a013c0
by npopov[llvm-c] Deprecate LLVMBuildPtrDiff()
In favor of LLVMBuildPtrDiff2(), which accepts an explicit element type and is compatible with opaque pointers.
|
 | llvm/include/llvm-c/Core.h |
 | llvm/lib/IR/Core.cpp |
Commit
157f9b68a3722101c3c2e40926dadc4aeb3e4a39
by llvm-dev[X86] combineVectorSignBitsTruncation - fix indentation. NFC.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
15e2be291f7fc8a694f796dd494e4f14d7f5a982
by llvm-dev[DAG] visitMULHS/MULHU/AND - remove some redundant LHS constant checks
Now that we constant fold and canonicalize constants to the RHS, we don't need to check both LHS and RHS for specific constants
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
3e2ae92d3f062f47b7cc8103e9a6c15b815d9018
by npopov[SCEV] Remove an unnecessary GEP type check
The code already checked that the addrec step size and type alloc size are the same. The actual pointer element type is irrelevant here.
|
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
4f4d071c909ef142c858a7e938aca9a99173cabe
by npopov[ObjCArcOpts] Regenerate test checks (NFC)
|
 | llvm/test/Transforms/ObjCARC/weak.ll |
Commit
78e1f70220a57bc7a7554d4240c5f15810959d7c
by npopov[ObjCARCOpts] Use standard non-terminator unreachable pattern
This is what CreateNonTerminatorUnreachable() in InstCombine uses. Specific choice here doesn't really matter, but we should pick one that is pointer element type independent.
|
 | llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp |
 | llvm/test/Transforms/ObjCARC/weak.ll |
Commit
d95cf1f6cf4242ae9f045b8032b9e4c08d41a12f
by paul.walker[SVE] Enable ISD::ABDS/U ISel for scalable vectors.
NOTE: This patch also includes tests that highlight those cases where the existing DAG combine doesn't yet work well for SVE.
Differential Revision: https://reviews.llvm.org/D117873
|
 | llvm/test/CodeGen/AArch64/sve-abd.ll |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.h |
Commit
153b1e3cba1e0469bfa6c72208d91708c219e6a6
by dmalyutin[AArch64] Add patterns for relaxed atomic ld/st into fp registers
Adds patterns to match integer loads/stores bitcasted to fp values
Fixes https://github.com/llvm/llvm-project/issues/52927
Differential Revision: https://reviews.llvm.org/D117573
|
 | llvm/test/CodeGen/AArch64/relaxed-fp-atomics.ll |
 | llvm/lib/Target/AArch64/AArch64InstrAtomics.td |
Commit
fc15ab7b1b26ebe8ac8435f0da23cc91b735ef4e
by llvm-dev[X86] Add folded load tests to PR46809 tests
|
 | llvm/test/CodeGen/X86/select-lea.ll |
Commit
345d85e1240801999ed321eb13a39048a9aa1a06
by pavel[lldb] Fix mac build for D117490
This is exactly that kind of a API misuse that the patch was meant to detect.
|
 | lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp |
Commit
6b67e89b45c1e84a5ddac23f8c9c8c3961577bda
by pavel[lldb] Fix windows build for D117490
I forgot to update ProcessWindowsLog to the new API.
|
 | lldb/source/Plugins/Process/Windows/Common/ProcessWindowsLog.h |
 | lldb/source/Plugins/Process/Windows/Common/ProcessWindowsLog.cpp |
Commit
694df0f0a807e1b0c1c04edd6714955f96b9cae1
by springerm[mlir][linalg][bufferize] Fix build
This fixes a linker error related to ModuleBufferization.cpp.
Differential Revision: https://reviews.llvm.org/D118127
|
 | mlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp |
Commit
4100cf2e92594342b53138bdbeeba220c7dd82c0
by marek.kurdej+llvm.org[Visualizers] Fix Optional visualizer.
As discussed in https://reviews.llvm.org/D118105#3268773, OptionalStorage has been changed in commit https://github.com/llvm/llvm-project/commit/fb9730575086b3c2ba38a1aabf3106b01339888b, but the visualizer still tries to use old members.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D118117
|
 | llvm/utils/LLVMVisualizers/llvm.natvis |
Commit
6a008de82a8965bd8aac4456e20a51a883e4126b
by npopov[Evaluator] Simplify handling of bitcasted calls
When fetching the function, strip casts. When casting the result, use the call result type. Don't actually inspect the bitcast.
|
 | llvm/include/llvm/Transforms/Utils/Evaluator.h |
 | llvm/lib/Transforms/Utils/Evaluator.cpp |
Commit
71bbb78b8fdc72732e3c21ee6d37f3c3868a7fdc
by springerm[mlir][linalg][bufferize] Support tensor.generate
This is mostly a copy of the existing tensor.generate bufferization. Once TensorInterfaceImpl.cpp is moved to the tensor dialect, the existing rewrite pattern can be deleted.
Differential Revision: https://reviews.llvm.org/D117770
|
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
 | mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp |
Commit
d581c94d6bfbb336b8620ef06e4340b5ea18a23e
by springerm[mlir][linalg][bufferize] Support tensor.from_elements
This is mostly a copy of the existing tensor.from_elements bufferization. Once TensorInterfaceImpl.cpp is moved to the tensor dialect, the existing rewrite pattern can be deleted.
Differential Revision: https://reviews.llvm.org/D117775
|
 | mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
Commit
c0e3c893aa095c78156900ef11f68042aff83839
by kuhnel[NFC][clangd] cleaning up llvm-qualified-auto
This is a cleanup of all llvm-qualified-auto findings. This patch was created by automatically applying the fixes from clang-tidy.
Differential Revision: https://reviews.llvm.org/D113898
|
 | clang-tools-extra/clangd/Hover.cpp |
 | clang-tools-extra/clangd/ExpectedTypes.cpp |
 | clang-tools-extra/clangd/unittests/FileIndexTests.cpp |
 | clang-tools-extra/clangd/AST.cpp |
 | clang-tools-extra/clangd/index/dex/Iterator.cpp |
 | clang-tools-extra/clangd/refactor/tweaks/DumpAST.cpp |
 | clang-tools-extra/clangd/index/IndexAction.cpp |
 | clang-tools-extra/clangd/HeaderSourceSwitch.cpp |
 | clang-tools-extra/clangd/TUScheduler.cpp |
 | clang-tools-extra/clangd/unittests/ClangdTests.cpp |
 | clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp |
 | clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp |
 | clang-tools-extra/clangd/refactor/tweaks/AnnotateHighlightings.cpp |
 | clang-tools-extra/clangd/FindSymbols.cpp |
 | clang-tools-extra/clangd/index/SymbolCollector.cpp |
 | clang-tools-extra/clangd/refactor/tweaks/ExpandMacro.cpp |
 | clang-tools-extra/clangd/CodeComplete.cpp |
 | clang-tools-extra/clangd/unittests/HoverTests.cpp |
 | clang-tools-extra/clangd/unittests/tweaks/DefineInlineTests.cpp |
Commit
a3a2239aaaf6860eaee591c70a016b7c5984edde
by npopov[GlobalISel] Avoid pointer element type access during InlineAsm lowering
Same change as has been made for the SDAG lowering.
|
 | llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp |
Commit
475927d04606433f4ad70b9e41bbe731994ba9b6
by npopov[AsmParserTest] Avoid pointer element type accesses (NFC)
Use isOpaqueOrPointeeTypeEquals() instead.
|
 | llvm/unittests/AsmParser/AsmParserTest.cpp |
Commit
bf00f7a64e3a37b1b9cc59a152da6ddb0accdbd9
by hansAdd llvm-dwp to LLVM_TOOLCHAIN_TOOLS
since it qualifies as a toolchain tool rather than "internal llvm tool". This will make it part of builds which set the LLVM_INSTALL_TOOLCHAIN_ONLY cmake option, such as the Windows installer.
Differential revision: https://reviews.llvm.org/D118042
|
 | llvm/cmake/modules/AddLLVM.cmake |
Commit
8e3e772f84e590ed9ba7182c7b01844afdb2dbff
by npopov[OpenMPIRBuilderTest] Avoid some pointer element type accesses (NFC)
Use isOpaqueOrPointeeTypeMatches() instead, where possible.
|
 | llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp |
Commit
7cc3e141d7106eb753b73cb8ad7251c67c738e9f
by npopov[MemProf] Avoid pointer element type access
Determine the masked load/store access type from the value type of the intrinsics, rather than the pointer element type. For cleanliness, include the access type in InterestingMemoryAccess.
|
 | llvm/lib/Transforms/Instrumentation/MemProfiler.cpp |
Commit
4ed7c6eec97925281f4c2a02ec7030dab750ba34
by sebastian.neubauer[AMDGPU] Only match correct type for a16
Addresses are floats when a sampler is present and unsigned integers when no sampler is present.
Therefore, only zext instructions, not sext instructions should match.
Also match integer constants that can be truncated.
Differential Revision: https://reviews.llvm.org/D118043
|
 | llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp |
Commit
2c8a77ab21ff3a41829a5d67e0b838cc7a9f5f21
by benny.kra[mlir] Move duplicated BufferizableOpInterface::kBufferLayoutAttrName defs to a single place
|
 | mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp |
 | mlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp |
 | mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp |
Commit
98db33349bcc4d12a56313c406c1f40038258f10
by npopov[SLC] Fix pointer diff type in sprintf() optimization
We should always be calculating a byte-wise difference here. Previously this calculated the pointer difference while taking the pointer element type into account, which is incorrect.
|
 | llvm/test/Transforms/InstCombine/stpcpy-1.ll |
 | llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp |
Commit
f3314e3747873fdf026a28742a30f372503baf32
by jim[clang-tidy] Pop Files only if FileChangeReason is ExitFile
enum FileChangeReason has four possible type EnterFile, ExitFile, SystemHeaderPragma and RenameFile, It should pop the back element of Files only if FileChangeReason is ExitFile.
|
 | clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp |
Commit
b0956a9acf73a9eef9cb426d00b8dee775682f35
by flo[GVN] Add tests for loop load PRE through select.
|
 | llvm/test/Transforms/GVN/PRE/pre-loop-load-through-select.ll |
Commit
9d8c3ad94fad5dd5fb511af89c9e7c3679922ce0
by 1.int32[clang-tidy] Change code of SignalHandlerCheck (NFC).
Using clang::CallGraph to get the called functions. This makes a better foundation to improve support for C++ and print the call chain.
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D118016
|
 | clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.h |
 | clang-tools-extra/test/clang-tidy/checkers/bugprone-signal-handler.c |
 | clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp |
Commit
ea4b0489f5caf136aefe04869d650aa8d966041c
by llvm-dev[X86][AVX] Add PR47194 shuffle test case
|
 | llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll |
Commit
a2505bd063e7949e2f0d892d85dec360fb28c702
by sd.fertile[PowerPC][AIX] Override markFunctionEnd()
During fast-isel calling 'markFunctionEnd' in the base class will call tidyLandingPads. This can cause an issue where we have determined that we need ehinfo and emitted a traceback table with the bits set to indicate that we will be emitting the ehinfo, but the tidying deletes all landing pads. In this case we end up emitting a reference to __ehinfo.N symbol, but not emitting a definition to said symbol and the resulting file fails to assemble.
Differential Revision: https://reviews.llvm.org/D117040
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfException.h |
 | llvm/test/CodeGen/PowerPC/aix-ehinfo-sym.ll |
 | llvm/lib/CodeGen/AsmPrinter/AIXException.cpp |
Commit
e581841e8cf46109acea92e1acb661c404fa62b9
by lntue[libc] Implement log10f correctly rounded for all rounding modes.
Based on RLIBM implementation similar to logf and log2f. Most of the exceptional inputs are the exact powers of 10.
Reviewed By: sivachandra, zimmermann6, santoshn, jpl169
Differential Revision: https://reviews.llvm.org/D118093
|
 | libc/test/src/math/differential_testing/CMakeLists.txt |
 | libc/test/src/math/differential_testing/log10f_perf.cpp |
 | libc/utils/MPFRWrapper/MPFRUtils.h |
 | libc/config/linux/x86_64/entrypoints.txt |
 | libc/spec/stdc.td |
 | libc/test/src/math/exhaustive/CMakeLists.txt |
 | libc/config/linux/aarch64/entrypoints.txt |
 | libc/utils/MPFRWrapper/MPFRUtils.cpp |
 | libc/src/math/log10f.h |
 | libc/test/src/math/CMakeLists.txt |
 | libc/src/math/generic/log10f.cpp |
 | libc/src/math/CMakeLists.txt |
 | libc/test/src/math/log10f_test.cpp |
 | libc/src/math/generic/CMakeLists.txt |
 | libc/test/src/math/exhaustive/log10f_test.cpp |
Commit
519810d63eb16ff6f367d8e9784a804805c30c44
by sguelton[NFC] Refine header dependencies of llvm/ADT/Any.h
|
 | llvm/include/llvm/ADT/Any.h |
Commit
adc9a346d842a61c8ce97627d2928dd2384bee5c
by sgueltonAlways use df_iterator_default_set as default set type for [i]df_ext_iterator
This is consistent with other default values in this file.
|
 | llvm/include/llvm/ADT/DepthFirstIterator.h |
Commit
2f02c7e1f2580c7faf9032922c5a8d3e957d0bd5
by npopov[SanitizerCoverage] Avoid pointer element type access
Use the load/store type instead.
|
 | llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp |
Commit
ef0d90f682b169b3148ff66cb1f592d78adec2f3
by llvm-dev[X86] Regenerate avx-vbroadcast.ll
Remove '' around mattr to stop update script crash and use X86 prefixes instead of X32
|
 | llvm/test/CodeGen/X86/avx-vbroadcast.ll |
Commit
0e5ea403e8deeb5374a9072aaa12292b9c0bed30
by blangmuirFix running orc-rt tests with LLVM_BUILD_EXTERNAL_COMPILER_RT
Add missing dependency on llvm-jitlink when building compiler-rt with LLVM_BUILD_EXTERNAL_COMPILER_RT. Previously we would non-deterministically fail the tests due to the missing binary.
rdar://87247681
Differential Revision: https://reviews.llvm.org/D118087
|
 | clang/runtime/CMakeLists.txt |
Commit
64ba462b6e398bdb33464963f7d6274320f84370
by sgatev[clang][dataflow] Add a transfer function for InitListExpr
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev.
Reviewed-by: xazax.hun
Differential Revision: https://reviews.llvm.org/D118119
|
 | clang/include/clang/Analysis/FlowSensitive/Value.h |
 | clang/lib/Analysis/FlowSensitive/Transfer.cpp |
 | clang/unittests/Analysis/FlowSensitive/TransferTest.cpp |
Commit
ce368e1aa51f3d9f0a5f6ff0be3c02a9cf1e2d2e
by abrachet[libc][NFC] Workaround clang assertion in inline asm
The clobber list "cc" is added to inline assembly to workaround a clang assertion that triggers when building with a clang built with assertions enabled. See bug [53391](https://github.com/llvm/llvm-project/issues/53391).
See https://godbolt.org/z/z3bc6a9PM showing functionally same output assembly.
Reviewed By: sivachandra, lntue
Differential Revision: https://reviews.llvm.org/D118099
|
 | libc/src/math/x86_64/tan.cpp |
 | libc/src/math/x86_64/sin.cpp |
 | libc/src/math/x86_64/cos.cpp |
Commit
a22d870a4e96eb6b7c481fb119f283ba56f735fa
by Adrian PrantlAdd missing include diagnosed by moduels build.
|
 | llvm/include/llvm/Support/FormatVariadicDetails.h |
Commit
f23d57a63266354902f36b79f2ad8557e201b3bc
by lgrey[lld-macho] Rename CallGraphSort.{h,cpp} to SectionPriorities
This is in preparation for moving the code that parses and processes order files into this file.
See https://reviews.llvm.org/D117354 for context and discussion.
|
 | lld/MachO/CMakeLists.txt |
 | lld/MachO/SectionPriorities.cpp |
 | lld/MachO/CallGraphSort.h |
 | lld/MachO/Writer.cpp |
 | lld/MachO/CallGraphSort.cpp |
 | lld/MachO/SectionPriorities.h |
 | llvm/utils/gn/secondary/lld/MachO/BUILD.gn |
Commit
a5c9d717807f2801b35f5d0e9501d6398efff42d
by lgrey[lld-macho] Move order file and call graph sorting into SectionPriorities
See https://reviews.llvm.org/D117354 for context and discussion.
|
 | lld/MachO/Driver.cpp |
 | lld/MachO/SectionPriorities.cpp |
 | lld/MachO/Writer.cpp |
 | lld/MachO/SectionPriorities.h |
Commit
bd1fac2fafd7a1afacce05cd53a3741a2214f5f1
by yitzhakmAdd assert on End iteration distance to Rewriter::getRewrittenText.
I currently have code that is crashing in the second std::advance call, and it was not straightforward to identify the problem, as the first line of the stacktrace is in RopePieceBTreeIterator::operator++:
```
*** SIGILL; stack trace: *** PC: clang/include/clang/Rewrite/Core/RewriteRope.h:119 clang::RopePieceBTreeIterator::operator++() ../include/c++/v1/__iterator/advance.h:35 std::__u::__advance<>() ../include/c++/v1/__iterator/advance.h:65 std::__u::advance<>() clang/lib/Rewrite/Rewriter.cpp:228 clang::Rewriter::getRewrittenText() clang/include/clang/Rewrite/Core/Rewriter.h:106 clang::Rewriter::getRewrittenText() ```
Adding an assertion produces a friendlier error message for the caller.
Reviewed By: gribozavr2
Differential Revision: https://reviews.llvm.org/D117579
|
 | clang/lib/Rewrite/Rewriter.cpp |
Commit
dcc3e728ca018de785991d4ecb9efe4f6a18ca75
by andrew.litteken[IROutliner] Allowing Phi Nodes in exit blocks
In addition to having multiple exit locations, there can be multiple blocks leading to the same exit location, which results in a potential phi node. If we find that multiple blocks within the region branch to the same block outside the region, resulting in a phi node, the code extractor pulls this phi node into the function and uses it as an output.
We make sure that this phi node is given an output slot, and that the two values are removed from the outputs if they are not used anywhere else outside of the region. Across the extracted regions, the phi nodes are combined into a single block for each potential output block, similar to the previous patch.
Reviewers: paquette
Differential Revision: https://reviews.llvm.org/D106995
|
 | llvm/test/Transforms/IROutliner/phi-nodes-output-overload.ll |
 | llvm/include/llvm/Transforms/IPO/IROutliner.h |
 | llvm/test/Transforms/IROutliner/outlining-branches-phi-nodes.ll |
 | llvm/test/Transforms/IROutliner/mismatched-phi-exits.ll |
 | llvm/test/Transforms/IROutliner/gvn-output-set-overload.ll |
 | llvm/lib/Transforms/IPO/IROutliner.cpp |
 | llvm/test/Transforms/IROutliner/region-inputs-in-phi-nodes.ll |
 | llvm/test/Transforms/IROutliner/mismatched-phi-exits-not-in-first-outlined.ll |
 | llvm/test/Transforms/IROutliner/mismatched-phi-outputs-ordering.ll |
 | llvm/test/Transforms/IROutliner/outlining-exits-to-phi-node.ll |
Commit
d7e183b225ecddeef2a28a59c1addb8e1825ffc6
by Jonas Devlieghere[lldb] Use new dyld SPIs to query the shared cache local symbols
rdar://85492172
|
 | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp |
Commit
575c5d2a99eabf4a76ab6d81e25537804aa50c9d
by wanyu9511Disable Go binding test on AIX
Disable the Go binding test on AIX because building the binding on AIX with Clang is currently unsupported.
Reviewed By: ZarkoCA
Differential Revision: https://reviews.llvm.org/D117505
|
 | llvm/test/Bindings/Go/go.test |
Commit
b089e4072a012dc0c8233cada37326f686ca2604
by eopxd[RISCV] Don't allow i64 vector div by constant to use mulh with Zve64x
EEW=64 of mulh and its vairants requires V extension.
Authored by: Craig Topper <craig.topper@sifive.com> @craig.topper
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D117947
|
 | llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/vremu-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/vdivu-sdnode.ll |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | llvm/test/CodeGen/RISCV/rvv/vrem-sdnode.ll |
 | llvm/lib/Target/RISCV/RISCVSubtarget.h |
Commit
87e68cae50d7ca28975ca6fb456cf0ab2ac915a1
by dblaikieImprove relnotes for the DWARFv5 default change
|
 | clang/docs/ReleaseNotes.rst |
Commit
c2cd7cc63c5084cea943a7cfa7e1d7e5c62a34b2
by Jonas Devlieghere[lldb] Only include mach headers on Darwin
|
 | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp |
Commit
19d7a0b47b6849923576845f87a3278e012e049b
by Zinovy Nis[clang-tidy] [bugprone-assert-side-effect] Ignore list for functions/methods
A semicolon-separated list of the names of functions or methods to be considered as not having side-effects was added for bugprone-assert-side-effect. It can be used to exclude methods like iterator::begin/end from being considered as having side-effects.
Differential Revision: https://reviews.llvm.org/D116478
|
 | clang-tools-extra/docs/ReleaseNotes.rst |
 | clang-tools-extra/test/clang-tidy/checkers/bugprone-assert-side-effect.cpp |
 | clang-tools-extra/docs/clang-tidy/checks/bugprone-assert-side-effect.rst |
 | clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.h |
 | clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp |
Commit
c415ff186dbb9891886c6ac1f03060ad537e7074
by david.green[AArch64] Add extra vecreduce.add tests, including extending reductions. NFC
This is all the reductions from i8 -> i64 with either sign or zero extensions.
|
 | llvm/test/CodeGen/AArch64/vecreduce-add.ll |
Commit
970a191203e6d3d34c873beb64c333f2890b2025
by eopxd[Clang][RISCV] Guard vmulh, vsmul correctly
According to v-spec 1.0, `vmulh`, `vmulhu`, `vmulhsu` and `vsmul` are NOT supported for EEW=64 in Zve64*.
This patch tries to guard it correctly.
Authored by: Craig Topper <craig.topper@sifive.com> @craig.topper Co-Authored by: Eop Chen <eop.chen@sifive.com> @eopXD
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D117913
|
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vsmul-eew64.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vmul.c |
 | clang/include/clang/Basic/riscv_vector.td |
 | clang/utils/TableGen/RISCVVEmitter.cpp |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vsmul.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmul-eew64.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsmul.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vmul-eew64.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsmul-eew64.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmul.c |
Commit
ee522345ae80c78f93ef5703b380f8496642c8db
by koraq[libc++][doc] Update format implementation status.
|
 | libcxx/docs/Status/FormatIssues.csv |
 | libcxx/docs/Status/FormatPaper.csv |
Commit
4eb909c884721a0be5078c87d35d550ad31c9fb7
by sgueltonCleanup header dependencies of llvm/Support/Compiler.h
<new> and <cstdef> were introduced in aa60b3fd875c3 but the dependency is now dead.
As a consequence you may need to include <new> where you use it while it was auto-included as an implicit dependency before.
The impact on the codebase is small, as <new> is a very small header (<100 SLOC) but it gets included everywhere, so that somehow counts (?)
|
 | llvm/include/llvm/Support/Compiler.h |
Commit
4cdc4416903bd4a818d70042d479442725eeebcc
by i[ELF] Parallelize --compress-debug-sections=zlib
When linking a Debug build clang (265MiB SHF_ALLOC sections, 920MiB uncompressed debug info), in a --threads=1 link "Compress debug sections" takes 2/3 time and in a --threads=8 link "Compress debug sections" takes ~70% time.
This patch splits a section into 1MiB shards and calls zlib `deflake` parallelly.
DEFLATE blocks are a bit sequence. We need to ensure every shard starts at a byte boundary for concatenation. We use Z_SYNC_FLUSH for all shards but the last to flush the output to a byte boundary. (Z_FULL_FLUSH can be used as well, but Z_FULL_FLUSH clears the hash table which just wastes time.)
The last block requires the BFINAL flag. We call deflate with Z_FINISH to set the flag as well as flush the output to a byte boundary. Under the hood, all of Z_SYNC_FLUSH, Z_FULL_FLUSH, and Z_FINISH emit a non-compressed block (called stored block in zlib). RFC1951 says "Any bits of input up to the next byte boundary are ignored."
In a --threads=8 link, "Compress debug sections" is 5.7x as fast and the total speed is 2.54x. Because the hash table for one shard is not shared with the next shard, the output is slightly larger. Better compression ratio can be achieved by preloading the window size from the previous shard as dictionary (`deflateSetDictionary`), but that is overkill.
``` # 1MiB shards % bloaty clang.new -- clang.old FILE SIZE VM SIZE -------------- -------------- +0.3% +129Ki [ = ] 0 .debug_str +0.1% +105Ki [ = ] 0 .debug_info +0.3% +101Ki [ = ] 0 .debug_line +0.2% +2.66Ki [ = ] 0 .debug_abbrev +0.0% +1.19Ki [ = ] 0 .debug_ranges +0.1% +341Ki [ = ] 0 TOTAL
# 2MiB shards % bloaty clang.new -- clang.old FILE SIZE VM SIZE -------------- -------------- +0.2% +74.2Ki [ = ] 0 .debug_line +0.1% +72.3Ki [ = ] 0 .debug_str +0.0% +69.9Ki [ = ] 0 .debug_info +0.1% +976 [ = ] 0 .debug_abbrev +0.0% +882 [ = ] 0 .debug_ranges +0.0% +218Ki [ = ] 0 TOTAL ```
Bonus in not using zlib::compress
* we can compress a debug section larger than 4GiB * peak memory usage is lower because for most shards the output size is less than 50% input size (all less than 55% for a large binary I tested, but decreasing the initial output size does not decrease memory usage)
Reviewed By: ikudrin
Differential Revision: https://reviews.llvm.org/D117853
|
 | lld/ELF/CMakeLists.txt |
 | lld/ELF/OutputSections.h |
 | lld/ELF/OutputSections.cpp |
Commit
93230ac1d2cf32419ce88fdd850f92a02bec5553
by Casey[libcxx][test] Use bool allocators for vector<bool>::get_allocator test
... to be consistent with other `get_allocator` tests, and to avoid requiring `vector<T, allocator<U>>` to be valid.
|
 | libcxx/test/std/containers/sequences/vector.bool/get_allocator.pass.cpp |
Commit
e5a315f57acf5580aa8819123300d90b4f7a160a
by ravishankarm[mlir][Linalg] Disallow ops with index semantics in `PushExpandingReshape`.
This pattern is not written to handle operations with `linalg.index` operations in its body, i.e. operations that have index semantics.
Differential Revision: https://reviews.llvm.org/D117856
|
 | mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp |
 | mlir/test/Dialect/Linalg/fusion-push-reshape.mlir |
Commit
ce5b04cc048aa9b82355bbea21a062462553eb47
by benny.kra[Support] #include <new> for std::align_val_t
This is only used when aligned new is enabled.
|
 | llvm/lib/Support/MemAlloc.cpp |
Commit
a09be08594a8b980f3cd0ad7e8aea1f9545517ae
by daltenty[compiler-rt][profile][AIX] pass extra link opts for test
The AIX linker doesn't export any symbols by default, so an export list is usually used. Since clang doesn't have the tools to auto-generate an export list yet, just pass the linker an extra opt to tell it to export everything. This is generally not recommended for real shared libs, but is fine for the purpose of this test.
Differential Revision: https://reviews.llvm.org/D118101
|
 | compiler-rt/test/profile/Posix/lit.local.cfg.py |
 | compiler-rt/test/profile/Posix/instrprof-get-filename-merge-mode.c |
Commit
ff8a4766ac256e3361ef66c0765ef5b041f4dd5f
by koraq[libc++][nfc] Update formatting of some tests.
These tests were formatted with older clang-format settings, this updates them to the current settings.
In order to implement P2216 a lot of changes to these tests are required. This makes it easier to review those patches.
|
 | libcxx/test/std/utilities/format/format.functions/format.locale.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/format_to.locale.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/format_tests.h |
 | libcxx/test/std/utilities/format/format.functions/format_to_n.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/format_to.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/vformat_to.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/vformat_to.locale.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/vformat.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/vformat.locale.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/format_to_n.locale.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/format.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/formatted_size.locale.pass.cpp |
 | libcxx/test/std/utilities/format/format.functions/formatted_size.pass.cpp |
Commit
9c2891a8eddb7380a2809af297789eb07713df19
by ellis.sparky.hoag[InstrProf][correlation] Read DWARFv5 `OP_addrx` location
Correctly read `OP_addrx` type encodings for DWARFv5 locations.
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D118098
|
 | compiler-rt/test/profile/Linux/instrprof-debug-info-correlate.c |
 | llvm/lib/ProfileData/InstrProfCorrelator.cpp |
Commit
4be86d18c0fc97a5eab26628e2a830f914c591eb
by andrew.litteken[IROutliner] Disallow outlining calls that return twice.
Functions that return twice can cause the IR Outliner to miscompile the given program. These function rely on information about the stack to be the same, and this may not necessarily be the case if called from an outlined function. So, we simply call these instructions illegal for the outliner to remove.
Reviewers: paquette
Differential Revision: https://reviews.llvm.org/D110007
|
 | llvm/include/llvm/Transforms/IPO/IROutliner.h |
 | llvm/test/Transforms/IROutliner/illegal-returns-twice.ll |
Commit
c39d22d1968cf07e54b5816ba76dccef8acaace1
by phosek[CMake] Set sanitizer test C++ library on Linux
We always want to use the in-tree libc++ for tests.
Differential Revision: https://reviews.llvm.org/D118161
|
 | clang/cmake/caches/Fuchsia-stage2.cmake |
Commit
0ad19a833177861be55fefaff725ab89c8695d01
by tra[CUDA,NVPTX] Corrected fragment size for tf32 LD B matrix.
Signed-off-by: JackAKirk <jack.kirk@codeplay.com>
Reviewed By: tra
Differential Revision: https://reviews.llvm.org/D118023
|
 | clang/lib/CodeGen/CGBuiltin.cpp |
Commit
ea1ac183f47ebc03051e63f76c4cb3ad3c5b9f3a
by ravishankarm[mlir][Linalg] Fix incorrect fusion with reshape ops by linearization.
Fusion of reshape ops by linearization incorrectly inverted the indexing map before linearizing dimensions. This leads to incorrect indexing maps used in the fused operation.
Differential Revision: https://reviews.llvm.org/D117908
|
 | mlir/test/Dialect/Linalg/reshape_linearization_fusion.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp |
Commit
0944c196c58f62299540983e2d10cd7bef60691a
by yitzhakm[libTooling] Adds more support for constructing object access expressions.
This patch adds a `buildAccess` function, which constructs a string with the proper operator to use based on the expression's form and type. It also adds two predicates related to smart pointers, which are needed by `buildAccess` but are also of general value.
We deprecate `buildDot` and `buildArrow` in favor of the more general `buildAccess`. These will be removed in a future patch.
Differential Revision: https://reviews.llvm.org/D116377
|
 | clang/include/clang/Tooling/Transformer/SourceCodeBuilders.h |
 | clang/lib/Tooling/Transformer/Stencil.cpp |
 | clang/unittests/Tooling/StencilTest.cpp |
 | clang/lib/Tooling/Transformer/SourceCodeBuilders.cpp |
 | clang/unittests/Tooling/SourceCodeBuildersTest.cpp |
Commit
f3ab0ccd00db3bb26851d3e1cf4a789fe7fa6e2c
by ravishankarm[mlir][Linalg] Add couple of convenience methods to `LinalgInterface`.
Add methods to - Get block argument that is tied with an opOperand - Get the yield value that is tied with a output opOperand.
Differential Revision: https://reviews.llvm.org/D118085
|
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td |
Commit
2868e2677b609ed0a1b0e441d5084a8956137816
by kyrtzidis[cmake] Some NFC changes in preparation for accomodating `Ninja Multi-Config`
* Use `MATCHES` so that `Ninja Multi-Config` generator also satisfies the Ninja check * Pull out a couple of values into variables, inside `function(tablegen project ofn)`, NFC
Differential Revision: https://reviews.llvm.org/D118100
|
 | llvm/cmake/modules/TableGen.cmake |
 | llvm/cmake/config-ix.cmake |
 | llvm/cmake/modules/HandleLLVMOptions.cmake |
Commit
2a1b7aa016c0f4b5598806205bdfbab1ea2d92c4
by pavel[lldb] Fix ProcessKDPLog for the logging refactor
|
 | lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.h |
 | lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp |
Commit
491c154677bcf0fba3c91fdaa7897a48ab605327
by platonov.aleksandr[analyzer] Don't specify PLUGIN_TOOL for analyzer plugins
Analyzer plugins explicitly export clang_registerCheckers and clang_analyzerAPIVersionString symbols, so we don't need to specify a tool to link agains.
Also, without this patch MSVC build fails with cmake flags -DLLVM_ENABLE_PLUGINS=On -DCLANG_PLUGINS_SUPPORT=On -DLLVM_EXPORT_SYMBOLS_FOR_PLUGINS=On ``` [936/936] Linking CXX shared module bin\SampleAnalyzerPlugin.dll FAILED: bin/SampleAnalyzerPlugin.dll cmd.exe /C "cd . && "D:\Program Files\CMake\bin\cmake.exe" -E vs_link_dll --intdir=tools\clang\lib\Analysis\plugins\SampleAnalyzer\CMakeFiles\SampleAnalyzerPlugin.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100183~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100183~1.0\x64\mt.exe --manifests -- C:\PROGRA~2\MICROS~4\2019\COMMUN~1\VC\Tools\MSVC\1428~1.299\bin\Hostx64\x64\link.exe /nologo tools\clang\lib\Analysis\plugins\SampleAnalyzer\CMakeFiles\SampleAnalyzerPlugin.dir\MainCallChecker.cpp.obj /out:bin\SampleAnalyzerPlugin.dll /implib:lib\SampleAnalyzerPlugin.lib /pdb:bin\SampleAnalyzerPlugin.pdb /dll /version:0.0 /machine:x64 /INCREMENTAL:NO /DEF:"D:/work/llvm-project-original/build-plugins/tools/clang/lib/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.def" lib\clang.lib lib\clangAnalysis.lib lib\clangAST.lib lib\clangStaticAnalyzerCore.lib lib\clangStaticAnalyzerFrontend.lib lib\clangStaticAnalyzerCheckers.lib lib\clangStaticAnalyzerCore.lib lib\clangCrossTU.lib lib\clangIndex.lib lib\clangFormat.lib lib\clangToolingInclusions.lib lib\clangFrontend.lib lib\clangDriver.lib version.lib lib\clangParse.lib lib\clangSerialization.lib lib\clangSema.lib lib\clangAnalysis.lib lib\clangEdit.lib lib\LLVMOption.lib lib\clangToolingCore.lib lib\clangRewrite.lib lib\clangASTMatchers.lib lib\clangAST.lib lib\clangLex.lib lib\clangBasic.lib lib\LLVMFrontendOpenMP.lib lib\LLVMScalarOpts.lib lib\LLVMAggressiveInstCombine.lib lib\LLVMInstCombine.lib lib\LLVMTransformUtils.lib lib\LLVMAnalysis.lib lib\LLVMProfileData.lib lib\LLVMDebugInfoDWARF.lib lib\LLVMObject.lib lib\LLVMBitReader.lib lib\LLVMCore.lib lib\LLVMRemarks.lib lib\LLVMBitstreamReader.lib lib\LLVMMCParser.lib lib\LLVMMC.lib lib\LLVMDebugInfoCodeView.lib lib\LLVMTextAPI.lib lib\LLVMBinaryFormat.lib lib\LLVMSupport.lib psapi.lib shell32.lib ole32.lib uuid.lib advapi32.lib delayimp.lib -delayload:shell32.dll -delayload:ole32.dll lib\LLVMDemangle.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ." LINK: command "C:\PROGRA~2\MICROS~4\2019\COMMUN~1\VC\Tools\MSVC\1428~1.299\bin\Hostx64\x64\link.exe /nologo tools\clang\lib\Analysis\plugins\SampleAnalyzer\CMakeFiles\SampleAnalyzerPlugin.dir\MainCallChecker.cpp.obj /out:bin\SampleAnalyzerPlugin.dll /implib:lib\SampleAnalyzerPlugin.lib /pdb:bin\SampleAnalyzerPlugin.pdb /dll /version:0.0 /machine:x64 /INCREMENTAL:NO /DEF:D:/work/llvm-project-original/build-plugins/tools/clang/lib/Analysis/plugins/SampleAnalyzer/SampleAnalyzerPlugin.def lib\clang.lib lib\clangAnalysis.lib lib\clangAST.lib lib\clangStaticAnalyzerCore.lib lib\clangStaticAnalyzerFrontend.lib lib\clangStaticAnalyzerCheckers.lib lib\clangStaticAnalyzerCore.lib lib\clangCrossTU.lib lib\clangIndex.lib lib\clangFormat.lib lib\clangToolingInclusions.lib lib\clangFrontend.lib lib\clangDriver.lib version.lib lib\clangParse.lib lib\clangSerialization.lib lib\clangSema.lib lib\clangAnalysis.lib lib\clangEdit.lib lib\LLVMOption.lib lib\clangToolingCore.lib lib\clangRewrite.lib lib\clangASTMatchers.lib lib\clangAST.lib lib\clangLex.lib lib\clangBasic.lib lib\LLVMFrontendOpenMP.lib lib\LLVMScalarOpts.lib lib\LLVMAggressiveInstCombine.lib lib\LLVMInstCombine.lib lib\LLVMTransformUtils.lib lib\LLVMAnalysis.lib lib\LLVMProfileData.lib lib\LLVMDebugInfoDWARF.lib lib\LLVMObject.lib lib\LLVMBitReader.lib lib\LLVMCore.lib lib\LLVMRemarks.lib lib\LLVMBitstreamReader.lib lib\LLVMMCParser.lib lib\LLVMMC.lib lib\LLVMDebugInfoCodeView.lib lib\LLVMTextAPI.lib lib\LLVMBinaryFormat.lib lib\LLVMSupport.lib psapi.lib shell32.lib ole32.lib uuid.lib advapi32.lib delayimp.lib -delayload:shell32.dll -delayload:ole32.dll lib\LLVMDemangle.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:bin\SampleAnalyzerPlugin.dll.manifest" failed (exit code 1169) with the following output: clangStaticAnalyzerCore.lib(BugReporter.cpp.obj) : error LNK2005: "public: __cdecl clang::ento::PathSensitiveBugReport::PathSensitiveBugReport(class clang::ento::BugType const &,class llvm::StringRef,class llvm::StringRef,class clang::ento::ExplodedNode const *,class clang::ento::PathDiagnosticLocation,class clang::Decl const *)" (??0PathSensitiveBugReport@ento@clang@@QEAA@AEBVBugType@12@VStringRef@llvm@@1PEBVExplodedNode@12@VPathDiagnosticLocation@12@PEBVDecl@2@@Z) already defined in clang.lib(clang.exe) clangStaticAnalyzerCore.lib(BugReporter.cpp.obj) : error LNK2005: "private: virtual void __cdecl clang::ento::BugType::anchor(void)" (?anchor@BugType@ento@clang@@EEAAXXZ) already defined in clang.lib(clang.exe) clangStaticAnalyzerCore.lib(SVals.cpp.obj) : error LNK2005: "public: class clang::FunctionDecl const * __cdecl clang::ento::SVal::getAsFunctionDecl(void)const " (?getAsFunctionDecl@SVal@ento@clang@@QEBAPEBVFunctionDecl@3@XZ) already defined in clang.lib(clang.exe) clangStaticAnalyzerCore.lib(ProgramState.cpp.obj) : error LNK2005: "void __cdecl clang::ento::ProgramStateRelease(class clang::ento::ProgramState const *)" (?ProgramStateRelease@ento@clang@@YAXPEBVProgramState@12@@Z) already defined in clang.lib(clang.exe) clangStaticAnalyzerCore.lib(ProgramState.cpp.obj) : error LNK2005: "void __cdecl clang::ento::ProgramStateRetain(class clang::ento::ProgramState const *)" (?ProgramStateRetain@ento@clang@@YAXPEBVProgramState@12@@Z) already defined in clang.lib(clang.exe) clangStaticAnalyzerCore.lib(Environment.cpp.obj) : error LNK2005: "public: __cdecl clang::ento::EnvironmentEntry::EnvironmentEntry(class clang::Stmt const *,class clang::LocationContext const *)" (??0EnvironmentEntry@ento@clang@@QEAA@PEBVStmt@2@PEBVLocationContext@2@@Z) already defined in clang.lib(clang.exe) clangStaticAnalyzerCore.lib(Environment.cpp.obj) : error LNK2005: "public: class clang::ento::SVal __cdecl clang::ento::Environment::getSVal(class clang::ento::EnvironmentEntry const &,class clang::ento::SValBuilder &)const " (?getSVal@Environment@ento@clang@@QEBA?AVSVal@23@AEBVEnvironmentEntry@23@AEAVSValBuilder@23@@Z) already defined in clang.lib(clang.exe) clangStaticAnalyzerCore.lib(CheckerManager.cpp.obj) : error LNK2005: "public: void __cdecl clang::ento::CheckerManager::_registerForPreStmt(class clang::ento::CheckerFn<void __cdecl(class clang::Stmt const *,class clang::ento::CheckerContext &)>,bool (__cdecl*)(class clang::Stmt const *))" (?_registerForPreStmt@CheckerManager@ento@clang@@QEAAXV?$CheckerFn@$$A6AXPEBVStmt@clang@@AEAVCheckerContext@ento@2@@Z@23@P6A_NPEBVStmt@3@@Z@Z) already defined in clang.lib(clang.exe) clangStaticAnalyzerCore.lib(CoreEngine.cpp.obj) : error LNK2005: "protected: class clang::ento::ExplodedNode * __cdecl clang::ento::NodeBuilder::generateNodeImpl(class clang::ProgramPoint const &,class llvm::IntrusiveRefCntPtr<class clang::ento::ProgramState const >,class clang::ento::ExplodedNode *,bool)" (?generateNodeImpl@NodeBuilder@ento@clang@@IEAAPEAVExplodedNode@23@AEBVProgramPoint@3@V?$IntrusiveRefCntPtr@$$CBVProgramState@ento@clang@@@llvm@@PEAV423@_N@Z) already defined in clang.lib(clang.exe) LLVMSupport.lib(SmallVector.cpp.obj) : error LNK2005: "protected: void __cdecl llvm::SmallVectorBase<unsigned int>::grow_pod(void *,unsigned __int64,unsigned __int64)" (?grow_pod@?$SmallVectorBase@I@llvm@@IEAAXPEAX_K1@Z) already defined in clang.lib(clang.exe) LLVMSupport.lib(FoldingSet.cpp.obj) : error LNK2005: "protected: __cdecl llvm::FoldingSetBase::~FoldingSetBase(void)" (??1FoldingSetBase@llvm@@IEAA@XZ) already defined in clang.lib(clang.exe) clangAST.lib(ASTImporter.cpp.obj) : error LNK2005: "public: __cdecl clang::ASTImporter::ASTImporter(class clang::ASTContext &,class clang::FileManager &,class clang::ASTContext &,class clang::FileManager &,bool,class std::shared_ptr<class clang::ASTImporterSharedState>)" (??0ASTImporter@clang@@QEAA@AEAVASTContext@1@AEAVFileManager@1@01_NV?$shared_ptr@VASTImporterSharedState@clang@@@std@@@Z) already defined in clang.lib(clang.exe) clangAST.lib(ASTImporter.cpp.obj) : error LNK2005: "public: class llvm::Expected<class clang::Decl *> __cdecl clang::ASTImporter::Import(class clang::Decl *)" (?Import@ASTImporter@clang@@QEAA?AV?$Expected@PEAVDecl@clang@@@llvm@@PEAVDecl@2@@Z) already defined in clang.lib(clang.exe) clangAST.lib(ExternalASTSource.cpp.obj) : error LNK2005: "public: virtual __cdecl clang::ExternalASTSource::~ExternalASTSource(void)" (??1ExternalASTSource@clang@@UEAA@XZ) already defined in clang.lib(clang.exe) clangAST.lib(ExternalASTSource.cpp.obj) : error LNK2005: "public: virtual void __cdecl clang::ExternalASTSource::CompleteRedeclChain(class clang::Decl const *)" (?CompleteRedeclChain@ExternalASTSource@clang@@UEAAXPEBVDecl@2@@Z) already defined in clang.lib(clang.exe) clangAST.lib(ExternalASTSource.cpp.obj) : error LNK2005: "public: virtual void __cdecl clang::ExternalASTSource::CompleteType(class clang::ObjCInterfaceDecl *)" (?CompleteType@ExternalASTSource@clang@@UEAAXPEAVObjCInterfaceDecl@2@@Z) already defined in clang.lib(clang.exe) ... ```
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D116966
|
 | clang/lib/Analysis/plugins/CheckerOptionHandling/CMakeLists.txt |
 | clang/lib/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt |
 | clang/lib/Analysis/plugins/SampleAnalyzer/CMakeLists.txt |
Commit
82df72cc67d4a2c07b766908a8aa0e272403421b
by lntue[libc] Make logf function correctly rounded for all rounding modes.
Make logf function correctly rounded for all rounding modes.
Reviewed By: sivachandra, zimmermann6, santoshn, jpl169
Differential Revision: https://reviews.llvm.org/D118149
|
 | libc/test/src/math/logf_test.cpp |
 | libc/src/math/generic/logf.cpp |
Commit
b35ef580d870fbb4e932a3e3a580860ac9d4ba49
by Dávid Bolvanský[NFC] Added test with select with unpredictable metadata; regenerate x86-cmov-converter.ll
|
 | llvm/test/CodeGen/X86/x86-cmov-converter.ll |
Commit
7dc705f86dd3a0fd8afd6f7db3ea132e2a36fa61
by Louis Dionne[libc++][NFC] Fix typo
|
 | libcxx/src/filesystem/directory_iterator.cpp |
Commit
d2cc23a337ddf4e12c5f49664099be2874b16db8
by i[docs] HowToCrossCompileLLVM.rst: prefer --target= over legacy -target
|
 | llvm/docs/HowToCrossCompileLLVM.rst |
Commit
5b55e733a9c3ce471f28d10492f02de9cd213f54
by sgueltonRemove unused <algorithm> include
|
 | llvm/include/llvm/ADT/PriorityWorklist.h |
 | llvm/include/llvm/ADT/SetVector.h |
 | llvm/include/llvm/ADT/DenseSet.h |
 | llvm/include/llvm/Support/BinaryByteStream.h |
 | llvm/include/llvm/Support/ScopedPrinter.h |
 | llvm/include/llvm/Support/Error.h |
 | llvm/include/llvm/ADT/AllocatorList.h |
 | llvm/include/llvm/ADT/CoalescingBitVector.h |
 | llvm/include/llvm/ADT/MapVector.h |
Commit
6427f4c52c31cc36004b14825e6598cd4a43f385
by sguelton[NFC] Use an llvm::DenseMap instead of std::map in CategorizedHelpPrinter::printOptions
|
 | llvm/lib/Support/CommandLine.cpp |
Commit
f170595249196f1ca5c3a70118fedc1043c093b3
by ellis.sparky.hoag[InstrProf][Correlator] Do not compress names when reading debug info
There is no need to compress the names string when correlating with debug info since InstrProfReader will immediately uncompress it anyway. This also removes the dependency on zlib in this case.
Reviewed By: kyulee
Differential Revision: https://reviews.llvm.org/D118176
|
 | llvm/lib/ProfileData/InstrProfReader.cpp |
 | compiler-rt/test/profile/Linux/instrprof-debug-info-correlate.c |
 | compiler-rt/test/profile/Darwin/instrprof-debug-info-correlate.c |
 | llvm/include/llvm/ProfileData/InstrProfCorrelator.h |
 | llvm/lib/ProfileData/InstrProfCorrelator.cpp |
Commit
8f5b1d9e146250affd69c08989a2885b77f8463c
by chfast[test][DAGCombine] Add tests for cmp+add -> addcarry
Tests for https://reviews.llvm.org/D118037.
|
 | llvm/test/CodeGen/X86/addcarry.ll |
Commit
f5f377d1fca8ecb4ec5bd2bca656e7c719727404
by andrew.litteken[IRSim][IROutliner] Adding support for recognizing and outlining indirect function calls, and function calls with different names, but the same type
The outliner currently requires that function calls not be indirect calls, and have that the function name, and function type must match, as well as other attributes such as calling conventions. This patch treats called functions as values, and just another operand, and named function calls as constants. This allows functions to be treated like any other constant, or input and output into the outlined functions.
There are also debugging flags added to enforce the old behaviors where indirect calls not be allowed, and to enforce the old rule that function calls names must also match.
Reviewers: paquette, jroelofs
Differential Revision: https://reviews.llvm.org/D109448
|
 | llvm/test/Transforms/IROutliner/outlining-call-and-indirect.ll |
 | llvm/test/Transforms/IROutliner/outlining-calls.ll |
 | llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp |
 | llvm/test/Transforms/IROutliner/outlining-calls-names-must-match.ll |
 | llvm/lib/Transforms/IPO/IROutliner.cpp |
 | llvm/test/Transforms/IROutliner/legal-indirect-calls.ll |
 | llvm/test/Transforms/IROutliner/illegal-indirect-calls.ll |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
 | llvm/include/llvm/Transforms/IPO/IROutliner.h |
Commit
d65a3b3265d058ce1f0ac82fa4d0826bf1b2bbaf
by sgueltonFix build issue in assert mode introduced by 6427f4c52c31cc36004
After 6427f4c52c31cc36004, one should use SortedCategories to check category validity.
|
 | llvm/lib/Support/CommandLine.cpp |
Commit
1c82fdb3d174b00ceab49e1f6e355c228f45048f
by thakisRevert "Fix build issue in assert mode introduced by 6427f4c52c31cc36004"
This reverts commit d65a3b3265d058ce1f0ac82fa4d0826bf1b2bbaf. Breaks build everywhere, see e.g. http://45.33.8.238/linux/66344/step_4.txt or https://lab.llvm.org/buildbot/#/builders/139/builds/16811
|
 | llvm/lib/Support/CommandLine.cpp |
Commit
a676bdb5d65bd827a17e82c8b7b89e93cc692501
by thakisRevert "[NFC] Use an llvm::DenseMap instead of std::map in CategorizedHelpPrinter::printOptions"
This reverts commit 6427f4c52c31cc36004b14825e6598cd4a43f385. Breaks a bunch of tests, see e.g. http://45.33.8.238/linux/66340/step_7.txt or https://lab.llvm.org/buildbot/#/builders/139/builds/16807
|
 | llvm/lib/Support/CommandLine.cpp |
Commit
e37de5d36e3190283916604342b029859129e2a4
by Adrian PrantlFix UB in DwarfExpression::emitLegacyZExt()
A shift-left > 63 triggers a UBSAN failure. This patch kicks the can down the road (to the consumer) by emitting a more compact representation of the shift computation in DWARF expressions.
Differential Revision: https://reviews.llvm.org/D118183
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp |
 | llvm/test/DebugInfo/X86/convert-debugloc.ll |
Commit
37ef303aa71a1594d42587871d2e1eb1deeeff0f
by Adrian PrantlAdd missing include diagnosed by the modules build.
|
 | llvm/include/llvm/Support/AllocatorBase.h |
Commit
3efa016d4c1af64bcae2f4d64bc141066ee8cd06
by Adrian PrantlRevert accidentally pushed commit. It was not yet reviewed.
"Fix UB in DwarfExpression::emitLegacyZExt()"
This reverts commit e37de5d36e3190283916604342b029859129e2a4.
|
 | llvm/test/DebugInfo/X86/convert-debugloc.ll |
 | llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp |
Commit
ceec4383681c42bfd3d06a6913ce7554bea160b0
by Dávid Bolvanský[AlwaysInliner] Enable call site inlining to make flatten attribute working again (#53360)
Problem: Migration to new PM broke flatten attribute.
This is one use case why LLVM should support inlining call-site with alwaysinline. The flatten attribute is nowdays broken, so we should either land patch like this one or remove everything related to flatten attribute from Clang.
Second use case is something like "per call site inlining intrinsics" to control inlining even more; mentioned in https://lists.llvm.org/pipermail/cfe-dev/2018-September/059232.html
Fixes https://github.com/llvm/llvm-project/issues/53360
Reviewed By: aeubanks
Differential Revision: https://reviews.llvm.org/D117965
|
 | clang/test/CodeGenCXX/flatten.cpp |
 | llvm/test/Transforms/Coroutines/coro-retcon-once-private.ll |
 | llvm/test/Transforms/Inline/always-inline.ll |
 | llvm/lib/Transforms/IPO/AlwaysInliner.cpp |
 | clang/test/CodeGen/flatten.c |
Commit
90f185c964d05e9f3081bb4acc734b3932db221a
by Dávid BolvanskýRevert "[AlwaysInliner] Enable call site inlining to make flatten attribute working again (#53360)"
This reverts commit ceec4383681c42bfd3d06a6913ce7554bea160b0. Clang tests fail.
|
 | llvm/test/Transforms/Coroutines/coro-retcon-once-private.ll |
 | clang/test/CodeGenCXX/flatten.cpp |
 | llvm/test/Transforms/Inline/always-inline.ll |
 | llvm/lib/Transforms/IPO/AlwaysInliner.cpp |
 | clang/test/CodeGen/flatten.c |
Commit
8ba9c794feb30cd969b9776c39873def10c51bff
by zahira.ammarguellatAdd support for sycl_special_class attribute.
Special classes such as accessor, sampler, and stream need additional implementation when they are passed from host to device.
This patch is adding a new attribute “sycl_special_class” used to mark SYCL classes/struct that need the additional compiler handling.
|
 | clang/test/Misc/pragma-attribute-supported-attributes-list.test |
 | clang/test/SemaSYCL/special-class-attribute-on-non-sycl.cpp |
 | clang/include/clang/Basic/Attr.td |
 | clang/include/clang/AST/CXXRecordDeclDefinitionBits.def |
 | clang/include/clang/Basic/AttrDocs.td |
 | clang/lib/AST/DeclCXX.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/test/SemaSYCL/special-class-attribute.cpp |
 | clang/lib/Sema/SemaDeclAttr.cpp |
 | clang/include/clang/AST/DeclCXX.h |
Commit
493509a40ad1653feb779861badd3ee59fc4a79c
by rupprecht[NFC] DeclCXX: Fix -Wreorder-ctor
From 8ba9c794feb30cd969b9776c39873def10c51bff
|
 | clang/lib/AST/DeclCXX.cpp |
Commit
8de76bd569732acae6a10fdcb0152a49f7d4cd39
by andrew.litteken[IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions
Due to some complications with lifetime, and assume-like intrinsics, intrinsics were not included as outlinable instructions. This patch opens up most intrinsics, excluding lifetime and assume-like intrinsics, to be outlined. For similarity, it is required that the intrinsic IDs, and the intrinsics names match exactly, as well as the function type. This puts intrinsics in a different class than normal call instructions (https://reviews.llvm.org/D109448), where the name will no longer have to match.
This also adds an additional command line flag debug option to disable outlining intrinsics.
Reviewers: paquette, jroelofs
Differential Revision: https://reviews.llvm.org/D109450
|
 | llvm/test/Transforms/IROutliner/illegal-memmove.ll |
 | llvm/test/Transforms/IROutliner/outline-vaarg-intrinsic.ll |
 | llvm/test/Transforms/IROutliner/outline-memmove.ll |
 | llvm/test/Transforms/IROutliner/illegal-memset.ll |
 | llvm/test/Transforms/IROutliner/different-intrinsics.ll |
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
 | llvm/test/Transforms/IROutliner/outline-memcpy.ll |
 | llvm/test/Transforms/IROutliner/illegal-memcpy.ll |
 | llvm/lib/Transforms/IPO/IROutliner.cpp |
 | llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
 | llvm/test/Transforms/IROutliner/outline-memset.ll |
 | llvm/test/Transforms/IROutliner/illegal-vaarg.ll |
 | llvm/include/llvm/Transforms/IPO/IROutliner.h |
Commit
ce94432702bf42a0b95a2693aa47177f37dd0bb3
by sam.mccall[clangd] Add designator inlay hints for initializer lists.
These make the init lists appear as if designated initialization was used.
Example: ExpectedHint{"param: ", "arg"} becomes ExpectedHint{.Label="param: ", .RangeName="arg"}
Differential Revision: https://reviews.llvm.org/D116786
|
 | clang-tools-extra/clangd/ConfigCompile.cpp |
 | clang-tools-extra/clangd/Protocol.cpp |
 | clang-tools-extra/clangd/Config.h |
 | clang-tools-extra/clangd/ConfigFragment.h |
 | clang-tools-extra/clangd/Protocol.h |
 | clang-tools-extra/clangd/ConfigYAML.cpp |
 | clang-tools-extra/clangd/unittests/InlayHintTests.cpp |
 | clang-tools-extra/clangd/InlayHints.cpp |
Commit
d81a3c51e7f76c4b3f7ed687f82a019168aad2da
by rob.suderman[mlir] Fold tensor.reshape operations into tensor.from_elements.
There is not much of a benefit to reshape a from element vs reloading it. Updated to progagate shape manipulations into the output type of tensor.from_elements.
Reviewed By: NatashaKnk
Differential Revision: https://reviews.llvm.org/D118201
|
 | mlir/lib/Dialect/Tensor/IR/TensorOps.cpp |
 | mlir/test/Dialect/Tensor/canonicalize.mlir |
Commit
fe30370b007e7efa1bd1f39a3189b27ae4e5fcbe
by Dávid BolvanskýReland "[AlwaysInliner] Enable call site inlining to make flatten attribute working again (#53360)"
|
 | clang/test/CodeGen/flatten.c |
 | llvm/test/Transforms/Inline/always-inline.ll |
 | clang/test/CodeGenCXX/flatten.cpp |
 | llvm/lib/Transforms/IPO/AlwaysInliner.cpp |
Commit
cf730d8ce1341ba593144df2e2bc8411238e04c3
by kstoimenov[ASan] Not linking asan_static library for DSO.
Without this change DSOs fail to link because of missing asan_report_(load|store)n functions.
Reviewed By: kda
Differential Revision: https://reviews.llvm.org/D118184
|
 | clang/lib/Driver/ToolChains/CommonArgs.cpp |
Commit
9c2daf648c9b3efb93a4361624890a2c31e8e243
by andrew.littekenRevert "[IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions"
This reverts commit 8de76bd569732acae6a10fdcb0152a49f7d4cd39.
Reverting due to failure of different-intrinsics.ll on lld-x86_64-win buildbot.
|
 | llvm/test/Transforms/IROutliner/outline-memcpy.ll |
 | llvm/test/Transforms/IROutliner/illegal-memset.ll |
 | llvm/test/Transforms/IROutliner/outline-vaarg-intrinsic.ll |
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
 | llvm/include/llvm/Transforms/IPO/IROutliner.h |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
 | llvm/lib/Transforms/IPO/IROutliner.cpp |
 | llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp |
 | llvm/test/Transforms/IROutliner/outline-memset.ll |
 | llvm/test/Transforms/IROutliner/illegal-memcpy.ll |
 | llvm/test/Transforms/IROutliner/different-intrinsics.ll |
 | llvm/test/Transforms/IROutliner/illegal-vaarg.ll |
 | llvm/test/Transforms/IROutliner/outline-memmove.ll |
 | llvm/test/Transforms/IROutliner/illegal-memmove.ll |
Commit
515eec3553b02533e9a88ee84bc245d5415163da
by andrew.litteken[IRSim][IROutliner] Add support for outlining PHINodes with the rest of the region.
|
 | llvm/test/Transforms/IROutliner/region-inputs-in-phi-nodes.ll |
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
 | llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp |
 | llvm/test/Transforms/IROutliner/outlining-exits-to-phi-node.ll |
 | llvm/test/Transforms/IROutliner/must-capture-all-phi-nodes-begin.ll |
 | llvm/test/Transforms/IROutliner/included-phi-nodes-begin.ll |
 | llvm/test/Transforms/IROutliner/must-capture-all-phi-nodes-end.ll |
 | llvm/test/Transforms/IROutliner/included-phi-nodes-end.ll |
 | llvm/test/Transforms/IROutliner/phi-nodes-simple.ll |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
 | llvm/include/llvm/Transforms/IPO/IROutliner.h |
 | llvm/test/Transforms/IROutliner/outlining-branches-phi-nodes.ll |
 | llvm/test/Transforms/IROutliner/phi-nodes-non-constant.ll |
 | llvm/lib/Transforms/IPO/IROutliner.cpp |
Commit
e50b217b4e6fb0be9b93d760e01462c117fe9318
by andrew.littekenRevert "[IRSim][IROutliner] Add support for outlining PHINodes with the rest of the region."
This reverts commit 515eec3553b02533e9a88ee84bc245d5415163da.
By mistake, commit message was not complete.
|
 | llvm/lib/Transforms/IPO/IROutliner.cpp |
 | llvm/test/Transforms/IROutliner/must-capture-all-phi-nodes-end.ll |
 | llvm/test/Transforms/IROutliner/included-phi-nodes-begin.ll |
 | llvm/test/Transforms/IROutliner/region-inputs-in-phi-nodes.ll |
 | llvm/test/Transforms/IROutliner/outlining-exits-to-phi-node.ll |
 | llvm/test/Transforms/IROutliner/included-phi-nodes-end.ll |
 | llvm/test/Transforms/IROutliner/outlining-branches-phi-nodes.ll |
 | llvm/include/llvm/Transforms/IPO/IROutliner.h |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
 | llvm/test/Transforms/IROutliner/phi-nodes-simple.ll |
 | llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp |
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
 | llvm/test/Transforms/IROutliner/must-capture-all-phi-nodes-begin.ll |
 | llvm/test/Transforms/IROutliner/phi-nodes-non-constant.ll |
Commit
e8f4e41b6bf4627eb075eb7cad88246af5d6777e
by andrew.litteken[IRSim][IROutliner] Add support for outlining PHINodes with the rest of the region.
We use the same similarity scheme we used for branch instructions for phi nodes, and allow them to be outlined. There is not a lot of special handling needed for these phi nodes when outlining, as they simply act as outputs. The code extractor does not currently allow for non entry blocks within the extracted region to have predecessors, so there are not conflicts to handle with respect to predecessors no longer contained in the function.
Recommit of 515eec3553b02533e9a88ee84bc245d5415163da
Reviewers: paquette
Differential Revision: https://reviews.llvm.org/D106997
|
 | llvm/test/Transforms/IROutliner/included-phi-nodes-begin.ll |
 | llvm/test/Transforms/IROutliner/region-inputs-in-phi-nodes.ll |
 | llvm/test/Transforms/IROutliner/must-capture-all-phi-nodes-begin.ll |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
 | llvm/include/llvm/Transforms/IPO/IROutliner.h |
 | llvm/test/Transforms/IROutliner/phi-nodes-non-constant.ll |
 | llvm/test/Transforms/IROutliner/outlining-exits-to-phi-node.ll |
 | llvm/test/Transforms/IROutliner/phi-nodes-simple.ll |
 | llvm/lib/Transforms/IPO/IROutliner.cpp |
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
 | llvm/test/Transforms/IROutliner/outlining-branches-phi-nodes.ll |
 | llvm/test/Transforms/IROutliner/must-capture-all-phi-nodes-end.ll |
 | llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp |
 | llvm/test/Transforms/IROutliner/included-phi-nodes-end.ll |
Commit
a13c10588cd57bcef93f2a27a74dd7c32bc6850b
by arthur.j.odwyer[libc++] [test] Fix LWG3146 "Excessive unwrapping in std::ref/cref"
Drive-by constexprify the existing tests, too.
Differential Revision: https://reviews.llvm.org/D117953
|
 | libcxx/docs/Status/Cxx2bIssues.csv |
 | libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp |
 | libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_1.pass.cpp |
 | libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_2.pass.cpp |
 | libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.pass.cpp |
 | libcxx/include/__functional/reference_wrapper.h |
 | libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/lwg3146.pass.cpp |
Commit
ba79295c48bb362e2183361ad4bebc4ad2ab75a2
by andrew.litteken[NFC][IROutliner] fix namespace and unused variable
|
 | llvm/lib/Transforms/IPO/IROutliner.cpp |
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
Commit
69da422bdaa684fbd14c95b06f40ac57910642d9
by kstoimenov[ASan] Added a unit test for D118184.
To make sure the the libraries are there for executable and not there for DSOs.
Reviewed By: kda
Differential Revision: https://reviews.llvm.org/D118205
|
 | clang/test/Driver/sanitizer-ld.c |
Commit
9273378b8576a63a04b03f1557442d3a90463488
by zakk.chen[RISCV] Add the passthru operand for RVV nomask load intrinsics.
The goal is support tail and mask policy in RVV builtins. We focus on IR part first. If the passthru operand is undef, we use tail agnostic, otherwise use tail undisturbed.
Co-Authored-by: Hsiangkai Wang <Hsiangkai@gmail.com>
Reviewers: craig.topper, frasercrmck
Differential Revision: https://reviews.llvm.org/D117647
|
 | llvm/test/CodeGen/RISCV/rvv/vleff-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vloxei.c |
 | llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vloxei.c |
 | llvm/test/CodeGen/RISCV/rvv/rv32-vsetvli-intrinsics.ll |
 | llvm/test/CodeGen/RISCV/rvv/vluxei-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vle-rv32.ll |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | llvm/test/CodeGen/RISCV/rvv/vluxei-rv64.ll |
 | llvm/test/CodeGen/RISCV/rvv/rv64-vsetvli-intrinsics.ll |
 | llvm/test/CodeGen/RISCV/rvv/rvv-out-arguments.ll |
 | llvm/include/llvm/IR/IntrinsicsRISCV.td |
 | llvm/test/CodeGen/RISCV/rvv/vloxei-rv64.ll |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vluxei.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vle.c |
 | llvm/test/CodeGen/RISCV/rvv/vlse-rv64.ll |
 | clang/include/clang/Basic/riscv_vector.td |
 | llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td |
 | llvm/test/CodeGen/RISCV/rvv/vloxei-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vle-rv64.ll |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vleff.c |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
 | llvm/test/CodeGen/RISCV/rvv/vleff-rv64.ll |
 | llvm/test/CodeGen/RISCV/rvv/vlse-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vluxei.c |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h |
 | llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir |
 | llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vlse.c |
Commit
510710d0374908e3e2bd37f9a32065da423a7e4c
by zakk.chen[RISCV][NFC] Add getVLOperand for RVV intrinsics.
Use the VLOperand information to get the VL.
Differential Revision: https://reviews.llvm.org/D118156
|
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
Commit
95b981ca2ae3915464a63d42eb53b0dde4a88227
by jhuber6[CodeExtractor] Enable partial aggregate arguments
Summary: Enable CodeExtractor to construct output functions that partially aggregate inputs/outputs in their argument list. A use case is the OMPIRBuilder to create outlined functions for parallel regions that aggregate in a struct the payload variables for the region while passing as scalars thread and bound identifiers.
Differential Revision: https://reviews.llvm.org/D96854
|
 | llvm/include/llvm/Transforms/Utils/CodeExtractor.h |
 | llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp |
 | llvm/lib/Transforms/Utils/CodeExtractor.cpp |
Commit
7cb4c2617391b80993e7c10f3a34c9e172f7ad41
by jhuber6[OMPIRBuilder] Generate aggregate argument for parallel region outlined functions
Summary: This patch modifies code generation in OpenMPIRBuilder to pass arguments to the parallel region outlined function in an aggregate (struct), besides the global_tid and bound_tid arguments. It depends on the updated CodeExtractor (see D96854) for support. It mirrors functionality of Clang codegen (see D102107).
Differential Revision: https://reviews.llvm.org/D110114
|
 | llvm/test/Transforms/OpenMP/parallel_region_merging.ll |
 | clang/test/OpenMP/irbuilder_nested_openmp_parallel_empty.c |
 | llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp |
 | clang/test/OpenMP/irbuilder_nested_parallel_for.c |
 | clang/test/OpenMP/parallel_codegen.cpp |
 | llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp |
 | clang/test/OpenMP/cancel_codegen.cpp |
 | llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h |
 | llvm/lib/Transforms/IPO/OpenMPOpt.cpp |
Commit
5c1f7b296ac0dddeca02891976e6ab5cfc006719
by yedeng.yd[C++20] [Modules] Only check decls under namespace scope in CheckRedeclarationExported
Since only the decls inhabit in a namespace scope could be exported, it is not meaningful to check it in CheckRedeclarationExported, which implements [module.interface]/p6.
Reviewed By: urnathan
Differential Revision: https://reviews.llvm.org/D118120
|
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/test/CXX/module/module.interface/p6.cpp |
Commit
08b29b175b1561af181e768587ffaf5f2bf4eb8d
by luxufan[MC] Put the Pending Fixups into location symbol's fragment
Differential Revision: https://reviews.llvm.org/D117317
|
 | llvm/test/MC/RISCV/reloc-directive.s |
 | llvm/lib/MC/MCObjectStreamer.cpp |
Commit
227d18b3a87a7bb544b76276a77def10294d1f0a
by puyan[lld][macho][NFC] Make MachO/start-end.s test less britle by checking for _main:
In start-end.s there is a lit check line `# SEG: _main` to begin the check at the start of the function main where `_main` is the Darwin name mangling for C main. Because the text file that FileCheck is getting as input has the path of the compiler build in it from llvm-mc and llvm-objdump, and because of the lack of a trailing colon in this check line we end up inadvertently matching against the line of text with the compiler path in it in the case where said path contains "_main" some place. This can be very likely if the compiler branch has "main" or "_main" in it.
To fix this I include the training : since that will match on the function label and not the path line.
|
 | lld/test/MachO/start-end.s |
Commit
f2c2333b6d2f0a00b02143fc3914462ebda5a015
by shaoce[NFC][llvm] Align the comment
Reviewed By: luismarques
Differential Revision: https://reviews.llvm.org/D116579
|
 | llvm/include/llvm/CodeGen/SDNodeProperties.td |
Commit
f65651cc8aa87ba3a505ba3edebf81a9797685a2
by ben.shi[AArch64] Fixes ADD/SUB opt bug and abstracts shared behavior in MIPeepholeOpt for ADD, SUB, and AND.
This fixes a bug where (SUBREG_TO_REG 0 (MOVi32imm <negative-number>) sub_32) would generate invalid code since the top 32-bits were not zeroed when inspecting the immediate value. A new test was added for this case.
Change to abstract shared behavior in MIPeepholeOpt. Both visitAND and visitADDSUB attempt to split an RR instruction with an immediate operand into two RI instructions with the immediate split.
The differing behavior lies in how the immediate is split into two pieces and how the new instructions are built. The rest of the behavior (adding new VRegs, checking for the MOVImm, constraining reg classes, removing old intructions) are shared between the operations.
The new helper function splitTwoPartImm implements the shared behavior and delegates differing behavior to two function objects passed by the caller. One function object splits the immediate into two values and returns the opcode to use if it is a valid split. The other function object builds the new instructions.
I felt this abstraction would help since I believe it will help reduce the code repetition when adding new instructions of the pattern, such as SUBS for this conditional optimization.
Tested it locally by running check all with compiler-rt, mlir, clang-tools-extra, flang, llvm, and clang enabled.
Reviewed By: dmgreen
Differential Revision: https://reviews.llvm.org/D118000
|
 | llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp |
 | llvm/test/CodeGen/AArch64/addsub.ll |
Commit
ad0345aed1e76f98c6ad55372b675c5647e16d28
by qiucofan[PowerPC] Emit gnu_attribute according to float-abi metadata
According to GNU as documentation, PowerPC supports some .gnu_attribute tags to represent the vector and float ABI type in the object file. Some linkers like GNU ld respects the attribute and will prevent objects with conflicting ABIs being linked.
This patch emits gnu_attribute value in assembly printer according to the float-abi metadata. More attributes for soft-fp, hard single/double and even vector ABI need to be supported in the future.
Reviewed By: jsji
Differential Revision: https://reviews.llvm.org/D117193
|
 | llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp |
 | llvm/test/CodeGen/PowerPC/gnu-attribute.ll |
Commit
cc4beda039ba5441b76b5b112dd5f69553965186
by hoy[CSSPGO] Adjust SampleContextFrameVector to be a shorter SmallVector
It appears that some memory saving can be archived by tweaking the existing `SampleContextFrameVector` setup. Below are memory usage for two benchmarks before and after this change.
1. Medium benchmark: - Before:
``` note: After computeSizeForProfiledFunctions note: VM: 12.50 GB RSS: 11.02 GB note: After generateProbeBasedProfile note: **VM: 30.56 GB RSS: 29.08 GB** note: After postProcessProfiles note: VM: 31.91 GB RSS: 30.43 GB ``` - After:
``` note: After computeSizeForProfiledFunctions note: VM: 12.26 GB RSS: 10.80 GB note: After generateProbeBasedProfile note: **VM: 28.76 GB RSS: 27.29 GB** note: After postProcessProfiles note: VM: 30.12 GB RSS: 28.66 GB ```
2. Large benchmark: - Before:
``` note: After computeSizeForProfiledFunctions note: VM: 106.28 GB RSS: 91.25 GB note: After generateProbeBasedProfile note: **VM: 245.19 GB RSS: 224.30 GB** note: After postProcessProfiles note: VM: 254.96 GB RSS: 221.58 GB ```
- After:
``` note: After computeSizeForProfiledFunctions note: VM: 105.95 GB RSS: 91.04 GB note: After generateProbeBasedProfile note: VM: **234.29 GB RSS: 215.39 GB** note: After postProcessProfiles note: VM: 244.03 GB RSS: 213.45 GB ```
Reviewed By: wenlei
Differential Revision: https://reviews.llvm.org/D118203
|
 | llvm/include/llvm/ProfileData/SampleProf.h |
Commit
d606e23305015f14072ed59e8e71d6b27d010b48
by luxufan[MC] Support constant offset for symbol PendingFixup
This patch add support relocation offset of sym+constant(like `foo+4`) form for pending fixup.
In the past, llvm-mc ignored the constant in sym+constant form, for `foo+4`, `4` would be ignored. And test case ``` .text ret nop nop .reloc foo+4, R_RISCV_32, 6
.data .globl foo foo: .word 0 .word 0 .word 0 ``` when run `llvm-mc -filetype=obj -triple=riscv64 %s | llvm-readobj -r` The output is ``` Relocations [ Section (3) .rela.text { 0x0 R_RISCV_32 - 0x6 } ] ```
After applying this patch, the output is ``` Relocations [ Section (3) .rela.text { 0x4 R_RISCV_32 - 0x6 } ] ```
Differential Revision: https://reviews.llvm.org/D117316
|
 | llvm/lib/MC/MCObjectStreamer.cpp |
 | llvm/test/MC/RISCV/reloc-directive.s |
Commit
8597458278027047c06a1a81579893335e761a33
by pc.wang[regalloc] Fix assertion error when LiveInterval is empty
When evicting interference, it causes an asseertion error since LiveIntervals::intervalIsInOneMBB assumes that input is not empty.
This patch fixed bug mentioned in D118020.
Reviewed By: MatzeB
Differential Revision: https://reviews.llvm.org/D118124
|
 | llvm/lib/CodeGen/LiveIntervals.cpp |
 | llvm/lib/CodeGen/RegAllocGreedy.cpp |
Commit
223f9dea3d8b46847c635a1ce864917e48da01ae
by i[ELF] maybeCompress: replace vector<uint8_t> with unique_ptr<uint8_t[]>. NFC
And mention that it is zero-initialized. I do not notice a speed-up if changed to be uninitialized by forcing the zero filler in writeTo.
|
 | lld/ELF/OutputSections.cpp |
Commit
7c984be21a350d2fd227fd95f36a70165a523b99
by rob.suderman[mlir] Propagate arith.index_cast past tensor.extract
If we are extracting it is more useful to push the index_cast past the extraction. This increases the chance the tensor.extract can evaluated at compile time.
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D118204
|
 | mlir/test/Dialect/Tensor/canonicalize.mlir |
 | mlir/lib/Dialect/Tensor/IR/TensorOps.cpp |
Commit
f0726ae0f9fa3fc5fadec7fdc940cc2f88759001
by richardRefactor: Extract Class MessagePrefix (NFC)
The work is the same, the only difference is the prefix of the strings we look for in the reference files.
|
 | clang-tools-extra/test/clang-tidy/check_clang_tidy.py |
Commit
7438dbe078c654677e83a126ae07af4c463ed764
by i[ELF] Cast size to size_t. NFC
To fix
../../chromeclang/bin/../include/c++/v1/__algorithm/min.h:39:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('unsigned long' vs. 'unsigned long long')
on macOS arm64.
|
 | lld/ELF/OutputSections.cpp |
Commit
07bd46764335357da2eacc1b9f022a63f7273140
by i[ELF] --build-id: replace vector<uint8_t> with unique_ptr<uint8_t[]>. NFC
We can't use C++20 make_unique_for_overwrite yet.
|
 | lld/ELF/Writer.cpp |
Commit
2a80c3dbe17175cd99112838341411323473f68b
by i[ELF] Clarify that Z_BEST_SPEED==1 in a comment. NFC
|
 | lld/ELF/OutputSections.cpp |
Commit
4fb8e0b8621a641b38cf2218cc20301da346cedf
by yrouban[JumpThreading] Add a test for handling zero !prof branch_weights
The test was a part of the revision D81499 and should have been added with commit 707836ed4ed.
Reviewed By: yamauchi, wenlei Differential Revision: https://reviews.llvm.org/D81499
|
 | llvm/test/Transforms/JumpThreading/threading_prof3.ll |
Commit
9fac78d0e1820b132964f6c1cfe22049d890d1d8
by i[ELF] Simplify and optimize .relr.dyn NFC
|
 | lld/ELF/SyntheticSections.cpp |
Commit
da1cac7d19c4f3f2dcc27083dc3b28d171610508
by jim[NFC] Remove duplicate include
|
 | llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFObjectWriter.cpp |
 | llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp |
 | llvm/lib/Target/ARM/ARMSubtarget.cpp |
Commit
f563bd74cb9a4f0d2d3eb49d35536b648361ec53
by qiucofan[NFC] Group PowerPC clang codegen tests into directory
|
 | clang/test/CodeGen/PowerPC/ppc64-align-struct.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-cas.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-pwr9-error.c |
 | clang/test/CodeGen/PowerPC/altivec-dss.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-error.c |
 | clang/test/CodeGen/vector-compat-ternary.c |
 | clang/test/CodeGen/PowerPC/ppc-mma-types.c |
 | clang/test/CodeGen/PowerPC/powerpc-c99complex.c |
 | clang/test/CodeGen/ppc-pmmintrin.c |
 | clang/test/CodeGen/builtins-ppc-build-pair-mma.c |
 | clang/test/CodeGen/ppc64le-varargs-complex.c |
 | clang/test/CodeGen/ppc-tmmintrin.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-vsx.c |
 | clang/test/CodeGen/PowerPC/ibm128-cast.c |
 | clang/test/CodeGen/aix-init-priority-attribute.cpp |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-fp.c |
 | clang/test/CodeGen/ppc64le-varargs-f128.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-crypto.c |
 | clang/test/CodeGen/aix_alloca_align.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-popcnt.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-compare.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-stfiw.c |
 | clang/test/CodeGen/builtins-ppc-fastmath.c |
 | clang/test/CodeGen/builtins-ppc-ld-st-rmb.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-multiply-64bit-only.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc.c |
 | clang/test/CodeGen/builtins-ppc-quadword.c |
 | clang/test/CodeGen/PowerPC/aix-altivec.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-stfiw.c |
 | clang/test/CodeGen/aix-destructor-attribute.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-htm.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-rotate.c |
 | clang/test/CodeGen/builtins-ppc-fpconstrained.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-pwr9-warning.c |
 | clang/test/CodeGen/PowerPC/ppc64le-aggregates.c |
 | clang/test/CodeGen/PowerPC/aix-init-priority-attribute.cpp |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-conversionfunc.c |
 | clang/test/CodeGen/aix-ignore-xcoff-visibility.cpp |
 | clang/test/CodeGen/builtins-ppc-p7.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-vec-error.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-pwr9-64bit.c |
 | clang/test/CodeGen/inline-asm-matching-ppc-vsx.c |
 | clang/test/CodeGen/vector-compat.c |
 | clang/test/CodeGen/2009-02-13-zerosize-union-field-ppc.c |
 | clang/test/CodeGen/aix32-complex-varargs.c |
 | clang/test/CodeGen/PowerPC/xcoff-comdat.cpp |
 | clang/test/CodeGen/PowerPC/ppc64le-f128Aggregates.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-cmplx.c |
 | clang/test/CodeGen/ppc-emmintrin.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-p10vector-error.c |
 | clang/test/CodeGen/ppc64-inline-asm.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-macros.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-fastmath.c |
 | clang/test/CodeGen/xcoff-comdat.cpp |
 | clang/test/CodeGen/builtins-ppc-altivec.c |
 | clang/test/CodeGen/ppc-signbit.c |
 | clang/test/CodeGen/ppc32-dwarf.c |
 | clang/test/CodeGen/ppc64-vector.c |
 | clang/test/CodeGen/builtins-ppc-crypto.c |
 | clang/test/CodeGen/builtins-ppc-xl-xst.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-fetch.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-load-store-reversed-64bit-only.c |
 | clang/test/CodeGen/PowerPC/ppc64-inline-asm.c |
 | clang/test/CodeGen/aix-vaargs.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-cas-error.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-p10vector.c |
 | clang/test/CodeGen/ppc64-complex-return.c |
 | clang/test/CodeGen/PowerPC/aix-struct-arg.c |
 | clang/test/CodeGen/builtins-ppc-vsx.c |
 | clang/test/CodeGen/builtins-ppc.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-expect.c |
 | clang/test/CodeGen/PowerPC/ppc-varargs-struct.c |
 | clang/test/CodeGen/powerpc_types.c |
 | clang/test/CodeGen/PowerPC/ppc64-soft-float.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-quadword-noi128.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-swdiv.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-load-store-reversed-64bit-only.c |
 | clang/test/CodeGen/altivec.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-conversionfunc.c |
 | clang/test/CodeGen/PowerPC/ppc-tmmintrin.c |
 | clang/test/CodeGen/ppc64-long-double.cpp |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-trap.c |
 | clang/test/CodeGen/PowerPC/ppc-emmintrin.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-error.c |
 | clang/test/CodeGen/PowerPC/attr-target-ppc.c |
 | clang/test/CodeGen/PowerPC/ppc32-and-aix-struct-return.c |
 | clang/test/CodeGen/aix-constructor-attribute.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-LoadReseve-StoreCond-64bit-only.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-sync.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-ld-st-rmb.c |
 | clang/test/CodeGen/ppc-smmintrin.c |
 | clang/test/CodeGen/PowerPC/vector-compat-pixel-bool-ternary.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-pwr9.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-fetch-error.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-rotate.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-p9vector.c |
 | clang/test/CodeGen/builtins-ppc-p10vector-error.c |
 | clang/test/CodeGen/PowerPC/aix-vaargs.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-pwr8.c |
 | clang/test/CodeGen/PowerPC/ppc-pmmintrin.c |
 | clang/test/CodeGen/PowerPC/aix_alloca_align.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat.c |
 | clang/test/CodeGen/builtins-ppc-pair-mma.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xl-xst.c |
 | clang/test/CodeGen/ppc64-f128-builtins.c |
 | clang/test/CodeGen/aix-alignment.c |
 | clang/test/CodeGen/aix-altivec-vaargs.c |
 | clang/test/CodeGen/builtins-ppc-p8vector.c |
 | clang/test/CodeGen/PowerPC/ppc-xmmintrin.c |
 | clang/test/CodeGen/ppc64-elf-abi.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat.c |
 | clang/test/CodeGen/aix-struct-arg.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-LoadReseve-StoreCond.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-p10.c |
 | clang/test/CodeGen/ppc64le-f128Aggregates.c |
 | clang/test/CodeGen/inline-asm-matching-constraint.c |
 | clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init-no-parentheses.c |
 | clang/test/CodeGen/aix-vector-attr-aligned.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-cipher.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-expect.c |
 | clang/test/CodeGen/PowerPC/ppc64-long-double.cpp |
 | clang/test/CodeGen/bool_test.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-compare.c |
 | clang/test/CodeGen/ppc64-struct-onefloat.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-quadword.c |
 | clang/test/CodeGen/ppc64-dwarf.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-LoadReseve-StoreCond-64bit-only.c |
 | clang/test/CodeGen/PowerPC/vector-compat.c |
 | clang/test/CodeGen/ppc64-align-struct.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-move-tofrom-regs.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-trap.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-cmplx.c |
 | clang/test/CodeGen/PowerPC/ppc64-vector.c |
 | clang/test/CodeGen/ppc32-and-aix-struct-return.c |
 | clang/test/CodeGen/ppc64-extend.c |
 | clang/test/CodeGen/attr-target-ppc.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-p9-f128.c |
 | clang/test/CodeGen/builtins-ppc-p9vector.c |
 | clang/test/CodeGen/PowerPC/ignore-exceptions.cpp |
 | clang/test/CodeGen/builtins-ppc-p10.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c |
 | clang/test/CodeGen/builtins-ppc-cache.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-math.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-multiply.c |
 | clang/test/CodeGen/ppc-varargs-struct.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-p7-disabled.c |
 | clang/test/CodeGen/PowerPC/ppc-vector-compare.cpp |
 | clang/test/CodeGen/ppc-sfvarargs.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-fp.c |
 | clang/test/CodeGen/PowerPC/vector-compat-ternary.c |
 | clang/test/CodeGen/aix-return.c |
 | clang/test/CodeGen/PowerPC/ppc64le-varargs-complex.c |
 | clang/test/CodeGen/PowerPC/ppc64-f128-builtins.c |
 | clang/test/CodeGen/ppc64-struct-onevect.c |
 | clang/test/CodeGen/PowerPC/ppc64-struct-onefloat.c |
 | clang/test/CodeGen/PowerPC/ppc64-complex-return.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-pwr9.c |
 | clang/test/CodeGen/PowerPC/aix-return.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-pwr9-error.c |
 | clang/test/CodeGen/PowerPC/ppc-smmintrin.c |
 | clang/test/CodeGen/ppc64-soft-float.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-cipher.c |
 | clang/test/CodeGen/builtins-ppc-32bit-vec-ll.c |
 | clang/test/CodeGen/altivec-ct.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-cas-error.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-multiply.c |
 | clang/test/CodeGen/ppc64le-aggregates.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-macros.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-move-tofrom-regs.c |
 | clang/test/CodeGen/builtins-ppc-p7-disabled.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-trap-64bit-only.c |
 | clang/test/CodeGen/PowerPC/ppc64le-varargs-f128.c |
 | clang/test/CodeGen/PowerPC/bool_test.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-crypto-disabled.c |
 | clang/test/CodeGen/vector-compat-pixel-bool-ternary.c |
 | clang/test/CodeGen/PowerPC/ppc64-complex-parms.c |
 | clang/test/CodeGen/PowerPC/ppc64-elf-abi.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-32bit-vec-ll.c |
 | clang/test/CodeGen/PowerPC/altivec.c |
 | clang/test/CodeGen/PowerPC/inline-asm-matching-constraint.c |
 | clang/test/CodeGen/ppc64-varargs-complex.c |
 | clang/test/CodeGen/builtins-ppc-fma.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-darn.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-test.c |
 | clang/test/CodeGen/PowerPC/ppc-mm-malloc.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-int128.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-load-store-reversed.c |
 | clang/test/CodeGen/builtins-ppc-p9-f128.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-swdiv_nochk.c |
 | clang/test/CodeGen/PowerPC/ppc-mm-malloc-le.c |
 | clang/test/CodeGen/ppc-aggregate-abi.cpp |
 | clang/test/CodeGen/ppc-mm-malloc.c |
 | clang/test/CodeGen/PowerPC/ppc64-extend.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-swdiv.c |
 | clang/test/CodeGen/ppc-mmintrin.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-math.c |
 | clang/test/CodeGen/builtins-ppc-p10vector.c |
 | clang/test/CodeGen/ppc-vector-compare.cpp |
 | clang/test/CodeGen/builtins-ppc-crypto-disabled.c |
 | clang/test/CodeGen/PowerPC/2009-02-13-zerosize-union-field-ppc.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-LoadReseve-StoreCond.c |
 | clang/test/CodeGen/PowerPC/altivec-ct.c |
 | clang/test/CodeGen/builtins-ppc-int128.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-fetch-error.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-swdiv_nochk.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-pwr9-64bit.c |
 | clang/test/CodeGen/PowerPC/aix-destructor-attribute.c |
 | clang/test/CodeGen/ppc-xmmintrin.c |
 | clang/test/CodeGen/PowerPC/aix-ignore-xcoff-visibility.cpp |
 | clang/test/CodeGen/aix-visibility-inlines-hidden.cpp |
 | clang/test/CodeGen/PowerPC/aix-visibility-inlines-hidden.cpp |
 | clang/test/CodeGen/PowerPC/aix-constructor-attribute.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-prefetch.c |
 | clang/test/CodeGen/PowerPC/ppc-signbit.c |
 | clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init.c |
 | clang/test/CodeGen/ignore-exceptions.cpp |
 | clang/test/CodeGen/PowerPC/ppc64-dwarf.c |
 | clang/test/CodeGen/PowerPC/aix-alignment.c |
 | clang/test/CodeGen/builtins-ppc-quadword-noi128.c |
 | clang/test/CodeGen/builtins-ppc-error.c |
 | clang/test/CodeGen/vector-bool-pixel-altivec-init.c |
 | clang/test/CodeGen/vector-bool-pixel-altivec-init-no-parentheses.c |
 | clang/test/CodeGen/PowerPC/ppc-sfvarargs.c |
 | clang/test/CodeGen/PowerPC/aix-altivec-vaargs.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-darn.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-multiply-64bit-only.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-prefetch.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-vec-error.c |
 | clang/test/CodeGen/PowerPC/aix32-complex-varargs.c |
 | clang/test/CodeGen/PowerPC/ppc64-varargs-complex.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-sync.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-test.c |
 | clang/test/CodeGen/PowerPC/vector-compat-pixel-bool.c |
 | clang/test/CodeGen/builtins-ppc-vec-ins-error.c |
 | clang/test/CodeGen/altivec-dss.c |
 | clang/test/CodeGen/PowerPC/aix-vector-attr-aligned.c |
 | clang/test/CodeGen/builtins-ppc-htm.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-p8vector.c |
 | clang/test/CodeGen/PowerPC/powerpc_types.c |
 | clang/test/CodeGen/PowerPC/ppc32-dwarf.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-altivec.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-cas.c |
 | clang/test/CodeGen/PowerPC/ppc64-struct-onevect.c |
 | clang/test/CodeGen/ibm128-cast.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-fma.c |
 | clang/test/CodeGen/ppc64-complex-parms.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-cache.c |
 | clang/test/CodeGen/PowerPC/ppc-aggregate-abi.cpp |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-fetch.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-trap-64bit-only.c |
 | clang/test/CodeGen/PowerPC/inline-asm-matching-ppc-vsx.c |
 | clang/test/CodeGen/powerpc-c99complex.c |
 | clang/test/CodeGen/vector-compat-pixel-bool.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-load-store-reversed.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-p7.c |
 | clang/test/CodeGen/ppc-mma-types.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-pwr8.c |
 | clang/test/CodeGen/PowerPC/ppc-mmintrin.c |
 | clang/test/CodeGen/aix-altivec.c |
 | clang/test/CodeGen/builtins-ppc-xlcompat-popcnt.c |
 | clang/test/CodeGen/PowerPC/builtins-ppc-vec-ins-error.c |
 | clang/test/CodeGen/aix-tls-model.cpp |
 | clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-pwr9-warning.c |
 | clang/test/CodeGen/PowerPC/aix-tls-model.cpp |
 | clang/test/CodeGen/ppc-mm-malloc-le.c |
Commit
571d6a7120c2b637db2bb46fe3029f9d8576ab86
by i[ELF] Optimize .relr.dyn to not grow vector<uint64_t>. NFC
|
 | lld/ELF/SyntheticSections.cpp |
Commit
74acd744d35eebe4a6716026f5f3e9ee9bf15411
by clementval[flang] Change getLoweredName to translateNameToFrontendMangledName()
getLoweredName() is not a well suited name change it to translateNameToFrontendMangledName()
Reviewed By: schweitz
Differential Revision: https://reviews.llvm.org/D118140
|
 | flang/lib/Optimizer/CodeGen/CodeGen.cpp |
 | flang/include/flang/Optimizer/Dialect/FIRTypes.td |
 | flang/lib/Optimizer/Dialect/FIRType.cpp |
Commit
3704abaa166bec865f56f48337a1732eab77dc68
by i[ELF] --gdb-index: replace vector<uint8_t> with unique_ptr<uint8_t[]>. NFC
|
 | lld/ELF/SyntheticSections.cpp |
Commit
c816be2026af3641f9b648482c48dd1f18a73dd1
by kristof.beylsAdd release note for aarch64-none-elf driver change.
|
 | clang/docs/ReleaseNotes.rst |
Commit
72e29caf039fd81bc6948e16d6f71d1581615469
by marek.kurdej+llvm.org[clang-format] Fix regression in parsing pointers to arrays.
Fixes https://github.com/llvm/llvm-project/issues/53293.
After commit 5c2e7c9, the code: ``` template <> struct S : Template<int (*)[]> {}; ``` was misformatted as: ``` template <> struct S : Template<int (*)[]>{}; ```
Reviewed By: MyDeveloperDay, HazardyKnusperkeks, owenpan
Differential Revision: https://reviews.llvm.org/D118106
|
 | clang/lib/Format/UnwrappedLineParser.cpp |
 | clang/unittests/Format/FormatTest.cpp |
Commit
18778b8863522e3043a0134eb31cd60127bd962b
by springerm[mlir] Fix merging of delayed registrations during DialectRegistry::appendTo
The existing implementation called DenseMap::insert, which is a no-op if the map already contains an entry with the same key.
Differential Revision: https://reviews.llvm.org/D118165
|
 | mlir/include/mlir/IR/Dialect.h |
Commit
267711e38bc7522abd2488a76e998a3a494d51d6
by jacquesguan[RISCV] Fix support of vlen = 64.
In the Zve* extensions, the vlen could be 64. This patch change the vlen constraint of low bound to 64.
Differential Revision: https://reviews.llvm.org/D118217
|
 | llvm/lib/Target/RISCV/RISCVSubtarget.cpp |
Commit
d3f5ef241ae3841b6f9b70bd138a9252ed3a002e
by y.gribovAdd ieee_is_normal/ieee_is_negative to ieee_arithmetic module.
|
 | flang/lib/Evaluate/intrinsics.cpp |
 | flang/lib/Evaluate/fold-logical.cpp |
 | flang/module/__fortran_builtins.f90 |
 | flang/include/flang/Evaluate/real.h |
 | flang/module/ieee_arithmetic.f90 |
Commit
a5cc8f6d5e49c957a3d37670beea733941b003f9
by y.gribov[flang] Add a custom target for the "flang" wrapper script.
Differential Revision: https://reviews.llvm.org/D117768
|
 | flang/tools/f18/CMakeLists.txt |
Commit
57356d6bb72adb1e85eb8b9ac5d9321b84e22fe6
by david.green[DAG] Create fptoui.sat from clamped fptoui
This is the unsigned variant of D111976, where we convert a clamped fptoui to a fptoui.sat. Because we are unsigned, the condition this time is only UMIN of UINT_MAX. Similarly to D111976 it handles ISD::UMIN, ISD::SETCC/ISD::SELECT, ISD::VSELECT or ISD::SELECT_CC nodes.
This especially helps on ARM/AArch64 where the vcvt instructions naturally saturate the result.
Differential Revision: https://reviews.llvm.org/D114964
|
 | llvm/test/CodeGen/RISCV/fpclamptosat.ll |
 | llvm/test/CodeGen/AArch64/fpclamptosat.ll |
 | llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll |
 | llvm/test/CodeGen/ARM/fpclamptosat.ll |
 | llvm/test/CodeGen/WebAssembly/fpclamptosat.ll |
 | llvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll |
Commit
8bbfdf8ec320e1d0d89f4babf81f4d003ce51e32
by y.gribov[flang] Get rid of code duplication in wrapper. Fix checking of undefined variables.
Differential Revision: https://reviews.llvm.org/D117767
|
 | flang/tools/f18/flang |
Commit
c82cb5d0006ea486446b22cafd72f9a0923f5b5a
by npopov[AddressSanitizer] Avoid pointer element type accesses
Determine masked load/store type based on the value operand and result types, rather than pointer element type.
|
 | llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h |
 | llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp |
Commit
c1b653bfa1cd7496f0636cc40034e08d7f6bb266
by sguelton[NFC] Use an llvm::DenseMap instead of std::map in CategorizedHelpPrinter::printOptions
It's a recommit of 6427f4c52c31cc36004 (patch included)
|
 | llvm/lib/Support/CommandLine.cpp |
Commit
9e7a2bfcf71674f9f40fb34e7d1d1ee9507ed8dd
by npopov[OpenMPOpt] Add const qualifier (NFC)
Make it clear that this large lambda does not modify the vector.
|
 | llvm/lib/Transforms/IPO/OpenMPOpt.cpp |
Commit
bec4e865dedfa36fc9c03139268f405e32e9be1d
by npopov[SCEVExpander] Remove pointer element type access in assertion
Assert directly on i8 rather than the element type of i8*.
|
 | llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp |
Commit
a2aea7199a5c99260d27ee37f3cda8f752478c02
by martin[libcxx] [test] Fix mismatches between _aligned_malloc and free() on Windows
This allows getting rid of one case of LIBCXX-WINDOWS-FIXME. The fixme comment was inaccurate; aligned allocation functions are provided these days, but the test kept failing as it was using mismatched allocation and free functions.
A similar issue was fixed earlier, in 6596778b46ba69517191e7397289228168064ff4. That test was fixed by overriding the aligned `operator new` too, and returning a dummy fixed allocation instead. As this test is libcxx specific, it can use the internal `std::__libcpp_aligned_free()` instead, to match libcxx's internal aligned `operator new`.
Differential Revision: https://reviews.llvm.org/D118190
|
 | libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp |
Commit
b61c878fc5e5c73243191962516bdeaaac4c923b
by akuegel[mlir][Bazel] Remove unnecessary dependencies
Differential Revision: https://reviews.llvm.org/D118221
|
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
Commit
c5263cd518689bc17690b90aa6bb0a163ef4a56c
by andrzej.warzynskiRestrict performPostLD1Combine to 64 and 128 bit vectors
When wider vectors are used, for example fixed width SVE, there is no patterns to select AArch64ISD::LD1LANEpost nodes, so we should do an early exit.
Reviewed By: paulwalker-arm
Differential Revision: https://reviews.llvm.org/D117674
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll |
Commit
2461aee6dbc5b2bb9027e1e86b940a2d0220cd54
by npopov[OpenMPIRBuilderTest] Avoid pointer element type access
This was reintroduced by D110114.
|
 | llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp |
Commit
dee0c268efadb6babafb8168838dc1060416d9af
by npopov[LICM] Add additional tests for promotion with unwinding (NFC)
|
 | llvm/test/Transforms/LICM/scalar-promote-unwind.ll |
Commit
7c02776567cc9561e6691dc05235799da45e72d6
by sgueltonFix edb02d8c5df36bb375df7171b4ba61635564dfb4
|
 | llvm/lib/Support/CommandLine.cpp |
Commit
44cfc3a8169cfa3f6a2824ed9cee9ff269f5a8ea
by npopov[LICM] Generalize unwinding check during scalar promotion
This extract a common isNotVisibleOnUnwind() helper into AliasAnalysis, which handles allocas, byval arguments and noalias calls. After D116998 this could also handle sret arguments. We have similar logic in DSE and MemCpyOpt, which will be switched to use this helper as well.
The noalias call case is a bit different from the others, because it also requires that the object is not captured. The caller is responsible for doing the appropriate check.
Differential Revision: https://reviews.llvm.org/D117000
|
 | llvm/include/llvm/Analysis/AliasAnalysis.h |
 | llvm/lib/Analysis/AliasAnalysis.cpp |
 | llvm/lib/Transforms/Scalar/LICM.cpp |
 | llvm/test/Transforms/LICM/scalar-promote-unwind.ll |
Commit
66c602be25c15ca69f6c3a618427ba0237c0d4a9
by sguelton[NFC] Additional header dependency cleanup LLVMSupport
A few more forward-declarations, a few less headers. the impact on number of preprocessed lines for LLVMSupport is negligible (-3K lines) but it's always good to remove dependencies.
Related discourse thread: https://llvm.discourse.group/t/include-what-you-use-include-cleanup
|
 | llvm/include/llvm/Support/YAMLTraits.h |
 | llvm/lib/Support/FileUtilities.cpp |
 | llvm/include/llvm/Support/X86TargetParser.h |
 | llvm/include/llvm/Support/ThreadPool.h |
 | llvm/lib/Support/ThreadPool.cpp |
 | llvm/lib/Support/TargetParser.cpp |
 | llvm/lib/Support/YAMLTraits.cpp |
 | llvm/include/llvm/Support/ARMTargetParser.h |
 | llvm/lib/Support/MemoryBuffer.cpp |
 | llvm/include/llvm/ADT/SmallVector.h |
 | llvm/include/llvm/Support/TargetParser.h |
 | llvm/include/llvm/Support/ConvertUTF.h |
 | llvm/lib/Support/CrashRecoveryContext.cpp |
 | llvm/lib/Support/BinaryStreamError.cpp |
Commit
24a49e99f386432fc6fa46faf6e2ba91cfaed2df
by nuno.lopes[NewGVN] FIx phi-of-ops in the presence of memory read operations
The phi-of-ops functionality has a function OpIsSafeForPHIOfOps to determine when it's safe to create the new phi. But this function only checks for the obvious dominator conditions and ignores memory. This patch takes the conservative approach and disables phi-of-ops whenever there's a load that doesn't dominate the phi, as its value may be affected by a store inside the loop.
This can be improved later to check aliasing between the load/stores.
Fixes https://llvm.org/PR53277
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D117999
|
 | llvm/test/Transforms/NewGVN/phi-of-ops-loads.ll |
 | llvm/lib/Transforms/Scalar/NewGVN.cpp |
 | llvm/test/Transforms/NewGVN/storeoverstore.ll |
Commit
aa33688cada423d987ce03ecbc13f2c554223d77
by Jan Svoboda[llvm][support] Replace `std::vector<bool>` use in YAMLTraits
LLVM Programmer’s Manual strongly discourages the use of `std::vector<bool>` and suggests `llvm::BitVector` as a possible replacement.
This patch replaces the use of `std::vector` with `llvm::BitVector` in LLVM's YAML traits and replaces the call to `Vec.insert(Vec.begin(), N, false)` on empty `Vec` with `Vec.resize(N)`, which has the same semantics but avoids using `insert` and iterators, which `llvm::BitVector` doesn't possess.
Reviewed By: dexonsmith, dblaikie
Differential Revision: https://reviews.llvm.org/D118111
|
 | llvm/lib/Support/YAMLTraits.cpp |
 | llvm/include/llvm/Support/YAMLTraits.h |
Commit
600c6714ac77915b7b656b860cf71494a7c9ec7f
by Jan Svoboda[clang][syntax] Replace `std::vector<bool>` use
LLVM Programmer’s Manual strongly discourages the use of `std::vector<bool>` and suggests `llvm::BitVector` as a possible replacement.
This patch replaces `std::vector<bool>` with `llvm::BitVector` in the Syntax library and replaces range-based for loop with regular for loop. This is necessary due to `llvm::BitVector` not having `begin()` and `end()` (D117116).
Reviewed By: dexonsmith, dblaikie
Differential Revision: https://reviews.llvm.org/D118109
|
 | clang/lib/Tooling/Syntax/Tree.cpp |
Commit
76cb4cd074a6816f3801fd4a2bd8854597748239
by Jan Svoboda[clang] Fix serialized diagnostics edge-cases
The Clang frontend sometimes fails on the following assertion when launched with `-serialize-diagnostic-file <x>`:
``` Assertion failed: (BlockScope.empty() && CurAbbrevs.empty() && "Block imbalance"), function ~BitstreamWriter, file BitstreamWriter.h, line 125. ```
This was first noticed when passing an unknown command-line argument to `-cc1`.
It turns out the `DiagnosticConsumer::finish()` function should be called as soon as processing of all source files ends, but there are some code paths where that doesn't happen:
1. when command line parsing fails in `cc1_main()`, 2. when `!Act.PrepareToExecute(*this)` or `!createTarget()` evaluate to `true` in `CompilerInstance::ExecuteAction` and the function returns early.
This patch ensures `finish()` is called in all those code paths.
Reviewed By: Bigcheese
Differential Revision: https://reviews.llvm.org/D118150
|
 | clang/test/Misc/serialized-diags-unknown-target.c |
 | clang/test/Misc/serialized-diags-unknown-argument.c |
 | clang/lib/Frontend/CompilerInstance.cpp |
 | clang/tools/driver/cc1_main.cpp |
 | clang/test/Misc/serialized-diags-emit-header-module-misconfig.c |
Commit
e9b4239fefa657362678c063c1ba81b0eed2cab3
by kiran.chandramohan[mlir][openmp] Custom syntax for `omp.target` operation
Add a custom parser and printer for `omp.target` operation.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D117539
|
 | mlir/test/Dialect/OpenMP/ops.mlir |
 | mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp |
 | mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td |
Commit
188d28f73cc7b7891c182a85fdb6e274123b5b69
by sgatev[clang][dataflow] Assign aggregate storage locations to union stmts
This patch ensures that the dataflow analysis framework does not crash when it encounters access to members of union types.
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev.
Reviewed-by: xazax.hun
Differential Revision: https://reviews.llvm.org/D118226
|
 | clang/unittests/Analysis/FlowSensitive/TransferTest.cpp |
 | clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp |
Commit
0776f6e04d8c3823c31b8fa6fa7d1376a7009af1
by benny.kra[LSV] Vectorize loads of vectors by turning it into a larger vector
Use shufflevector to do the subvector extracts. This allows a lot more load merging on AMDGPU and also on NVPTX when <2 x half> is involved.
Differential Revision: https://reviews.llvm.org/D117219
|
 | llvm/test/CodeGen/AMDGPU/fshl.ll |
 | llvm/test/CodeGen/AMDGPU/shl.v2i16.ll |
 | llvm/test/CodeGen/AMDGPU/half.ll |
 | llvm/test/CodeGen/AMDGPU/select-vectors.ll |
 | llvm/test/CodeGen/AMDGPU/min.ll |
 | llvm/test/CodeGen/AMDGPU/srl.ll |
 | llvm/test/CodeGen/AMDGPU/fmin_legacy.ll |
 | llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp |
 | llvm/test/CodeGen/AMDGPU/sra.ll |
 | llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll |
 | llvm/test/CodeGen/AMDGPU/fshr.ll |
 | llvm/test/CodeGen/AMDGPU/fmax_legacy.ll |
 | llvm/test/CodeGen/AMDGPU/memory_clause.ll |
 | llvm/test/CodeGen/AMDGPU/ashr.v2i16.ll |
 | llvm/test/CodeGen/AMDGPU/mul_int24.ll |
 | llvm/test/Transforms/LoadStoreVectorizer/NVPTX/4x2xhalf.ll |
 | llvm/test/CodeGen/AMDGPU/urem64.ll |
 | llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll |
 | llvm/test/CodeGen/AMDGPU/shl.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll |
 | llvm/test/CodeGen/AMDGPU/sdiv.ll |
 | llvm/test/CodeGen/AMDGPU/shift-i128.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll |
 | llvm/test/CodeGen/AMDGPU/sdiv64.ll |
 | llvm/test/CodeGen/AMDGPU/sub.v2i16.ll |
 | llvm/test/CodeGen/AMDGPU/udiv.ll |
Commit
37d690b330198ca602ea83d2e1798e30c4c3e037
by githubremove spurious comma [NFC]
|
 | llvm/include/llvm/Support/X86TargetParser.h |
Commit
ed4efee2a3d45058aa1a6ffb463485046e981dc6
by npopov[MemCpyOpt] Add additiona call slot unwind tests (NFC)
Test a possibly unwinding call with a byval and sret argument.
|
 | llvm/test/Transforms/MemCpyOpt/callslot_throw.ll |
Commit
9b6c2ea30219c16c264eaa38609e324470e2ad07
by ntv[mlir][Linalg] Add GenericOp self-copy on buffers folding
Reviewed By: pifon2a
Differential Revision: https://reviews.llvm.org/D118116
|
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/test/Dialect/Linalg/inlining.mlir |
 | mlir/test/Dialect/Linalg/canonicalize.mlir |
Commit
19eaad94c47f92dd23989b0b6832bb6751dde979
by mail[clang-tidy] Cache the locations of NOLINTBEGIN/END blocks
Support for NOLINT(BEGIN/END) blocks (implemented in D108560) is currently costly. This patch aims to improve the performance with the following changes:
- The use of tokenized NOLINTs instead of a series of repetitive ad-hoc string operations (`find()`, `split()`, `slice()`, regex matching etc). - The caching of NOLINT(BEGIN/END) block locations. Determining these locations each time a new diagnostic is raised is wasteful as it requires reading and parsing the entire source file.
Move NOLINT-specific code from `ClangTidyDiagnosticConsumer` to new purpose-built class `NoLintDirectiveHandler`.
Differential Revision: https://reviews.llvm.org/D116085
|
 | clang-tools-extra/test/clang-tidy/infrastructure/Inputs/nolintbeginend/2nd-translation-unit.cpp |
 | clang-tools-extra/clangd/ParsedAST.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-LIFO.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend.cpp |
 | clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-single-end-multiple.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-all-end-specific.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-global-end-specific.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-multiple-end-single.cpp |
 | clang-tools-extra/clang-tidy/CMakeLists.txt |
 | clang-tools-extra/test/clang-tidy/infrastructure/Inputs/nolintbeginend/1st-translation-unit.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-typo-in-check-name.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-all-end-glob.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-mismatched-check-names.cpp |
 | clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp |
 | clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-specific-end-glob.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-multiple-TUs.cpp |
 | clang-tools-extra/clang-tidy/NoLintDirectiveHandler.h |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-specific-end-all.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolint.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-specific-end-global.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-glob-end-all.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-mismatched-delims.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-glob-end-specific.cpp |
Commit
3271f43680da8126eada63340a19a79fe8b3943b
by mkazantsev[Test] Add test for PR53419
These tests demonstrate how suboptimal is the lowering of equality checks for short vectors.
|
 | llvm/test/CodeGen/X86/pr53419.ll |
Commit
ee0c3820f8862aaf39d7ad542672092c35dda266
by david.spickett[lldb][AArch64] Add MakeTaggedRanges to MemoryTagManager
This is to be used when you want to know what subranges of a larger range have memory tagging. Like MakeTaggedRange but memory without tags is skipped and you get a list of ranges back.
Will be used later by DumpDataExtractor to show memory tags.
MakeTaggedRanges assumes that the memory regions it is given are sorted in ascending order and do not overlap. For the current use case where you get regions from GetMemoryRegions and are on some Linux like OS, this is reasonable to assume.
I've used asserts to check those conditions. In future any API binding will check them up front to prevent a crash.
Reviewed By: omjavaid
Differential Revision: https://reviews.llvm.org/D112824
|
 | lldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.cpp |
 | lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp |
 | lldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.h |
 | lldb/include/lldb/Target/MemoryTagManager.h |
Commit
66804666638292406d0b7039514642d0a968dcfd
by sebastian.neubauer[AMDGPU][NFC] Pre-commit regenerated test
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-select.mir |
Commit
4723f3cf03a90473dc9ae006e65d9019f00cb771
by sebastian.neubauer[AMDGPU][GlobalISel] Combine unmerge of undef
Fold (unmerge undef) -> undef, undef, ...
Differential Revision: https://reviews.llvm.org/D118138
|
 | llvm/include/llvm/Target/GlobalISel/Combine.td |
 | llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizer-combiner-unmerge-undef.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-select.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll |
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |
Commit
04754af925053efdc91fd0cbe045feb7578ad1ae
by llvm-devFix MSVC 'not all control paths return a value' warning. NFC.
|
 | clang/lib/Tooling/Transformer/SourceCodeBuilders.cpp |
Commit
de3f81557ae33a01862dd19b9db451d00737b67c
by orlando.hyams[Dexter] Remove false requirement of lldb for dexter regression tests on Windows
Not quite NFC because a little work was required to configure some tests to run on Windows at all.
Before this patch on Windows:
$ llvm-lit cross-project-tests\debuginfo-tests\dexter\feature-tests Unsupported: 49 Passed : 23
After this patch on Windows:
$ llvm-lit cross-project-tests\debuginfo-tests\dexter\feature-tests Unsupported : 27 Passed : 39 Expectedly failed: 6
There are 3 main changes here. The first is to add a few more substitutions in cross-project-tests/lit.cfg.py so that tests need to use specific flags can still use the dexter regression test defaults for the native platform. These are:
%dexter_regression_test_debugger %dexter_regression_test_builder %dexter_regression_test_cflags %dexter_regression_test_ldflags
Tests that now use these options and therefore can be run on Windows too (though the second is still failing for unknown reasons):
cross-project-tests/debuginfo-tests/dexte/feature_tests /subtools/clang-opt-bisect/clang-opt-bisect.cpp /subtools/test/source-root-dir.cpp
The second change is to remove spurious `REQUIRES: system-linux, lldb` and `UNSUPPORTED: system-windows` directives, and make changes to lit.local.cfg files that have the same effect. I've also added comments to the genuine REQUIRES, UNSUPPORTED, and XFAIL directives so it's easier to understand requirements at a glance. The most common reason for a test to not be supported on Windows is that it uses DexLimitSteps, DexDeclareAddress, or DexCommandLine, none of which are supported in the dbgeng driver.
There are two failures on Windows that were previously hidden, which I've XFAILed:
cross-project-tests/debuginfo-tests/dexter/feature_tests /commands/perfect/dex_finish_test/default_conditional.cpp /commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
And two that were easy to fix:
cross-project-tests/debuginfo-tests/dexter/feature_tests /commands/perfect/dex_finish_test/default_simple.cpp /commands/perfect/dex_finish_test/default_hit_count.cpp
Lastly, I've set three directories as unsupported.
cross-project-tests/debuginfo-tests/dexter/feature_tests /commands/perfect/limit_steps /commands/perfect/dex_declare_address /commands/perfect/dex_declare_file
The first two are unsupported on Windows because they contains tests for the DexLimitSteps and DexDeclareAddress commands which aren't supported in the dbgeng driver. The third is unsupported on all platforms as the tests involve invoking clang directly, which isn't currently a supported way of building tests for dexter in lit (it can cause problems for cross compilers that can target the host, as the tests use the default triple and linker, which may be aligned for the default target, not host).
Tested on Windows and Linux.
Reviewed By: jmorse
Differential Revision: https://reviews.llvm.org/D118048
|
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/lit.local.cfg |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/lit.local.cfg |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/lit.local.cfg |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/precompiled_binary_different_dir/dex_commands/source_root_dir.dex |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_limit_steps_no_values.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/clang-opt-bisect/clang-opt-bisect.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp |
 | cross-project-tests/lit.cfg.py |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp |
 | cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/lit.local.cfg |
Commit
d3597ec0aaad11a670f45b42428628531d4b2c05
by sgatev[clang][dataflow] Enable merging distinct values in Environment::join
Make specializations of `DataflowAnalysis` extendable with domain-specific logic for merging distinct values when joining environments. This could be a strict lattice join or a more general widening operation.
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev.
Reviewed-by: xazax.hun
Differential Revision: https://reviews.llvm.org/D118038
|
 | clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h |
 | clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp |
 | clang/unittests/Analysis/FlowSensitive/TestingSupport.h |
 | clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp |
 | clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h |
 | clang/unittests/Analysis/FlowSensitive/TransferTest.cpp |
 | clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp |
 | clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h |
 | clang/include/clang/Analysis/FlowSensitive/Value.h |
 | clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h |
 | clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp |
Commit
6b69985da42c6bdbe83127de9653ee795024c8d0
by npopov[MemCpyOpt] Use helper for unwind check
This extends support to byval arguments. It would be further extended to handle the case of non-captured noalias returns.
|
 | llvm/test/Transforms/MemCpyOpt/callslot_throw.ll |
 | llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp |
Commit
c5907f8a722342a09eada1454b79f0b6904b6d1e
by llvmgnsyncbot[gn build] Port 19eaad94c47f
|
 | llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/BUILD.gn |
Commit
8e29d19b8d29db1ad60af3a8921aad7bbfc24435
by mailRevert "[clang-tidy] Cache the locations of NOLINTBEGIN/END blocks"
Build warning here: https://lab.llvm.org/buildbot/#/builders/57/builds/14322
|
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-all-end-glob.cpp |
 | clang-tools-extra/clang-tidy/NoLintDirectiveHandler.h |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-multiple-TUs.cpp |
 | clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-glob-end-all.cpp |
 | clang-tools-extra/clangd/ParsedAST.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/Inputs/nolintbeginend/2nd-translation-unit.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-multiple-end-single.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-specific-end-all.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-mismatched-delims.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend.cpp |
 | clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-global-end-specific.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-mismatched-check-names.cpp |
 | clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-LIFO.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-typo-in-check-name.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-specific-end-glob.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-specific-end-global.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/Inputs/nolintbeginend/1st-translation-unit.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-glob-end-specific.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolint.cpp |
 | clang-tools-extra/clang-tidy/CMakeLists.txt |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-all-end-specific.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-single-end-multiple.cpp |
Commit
3d8fa00b2d24799d234fbfdca97c84954b629ac3
by llvmgnsyncbot[gn build] Port 8e29d19b8d29
|
 | llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/BUILD.gn |
Commit
5da7c040030c4af72dcc21220f579098469c554e
by mailRe-land "Cache the locations of NOLINTBEGIN/END blocks" with fix for build bot
|
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-multiple-end-single.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-all-end-glob.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/Inputs/nolintbeginend/1st-translation-unit.cpp |
 | clang-tools-extra/clangd/ParsedAST.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/Inputs/nolintbeginend/2nd-translation-unit.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-mismatched-check-names.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-single-end-multiple.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-specific-end-glob.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-multiple-TUs.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-LIFO.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-all-end-specific.cpp |
 | clang-tools-extra/clang-tidy/CMakeLists.txt |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-typo-in-check-name.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolint.cpp |
 | clang-tools-extra/clang-tidy/NoLintDirectiveHandler.h |
 | clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp |
 | clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-glob-end-all.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-specific-end-global.cpp |
 | clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-glob-end-specific.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-global-end-specific.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-mismatched-delims.cpp |
 | clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-specific-end-all.cpp |
Commit
66bd7ebdf76ab1758469145a5194b6fa833dd3a9
by paul.walker[SVE] Use DUPM to handling more splat immediate cases.
NOTE: Only considers i64 based vectors at this time because smaller element types require extra isel operand parsing.
Differential Revision: https://reviews.llvm.org/D118040
|
 | llvm/test/CodeGen/AArch64/sve-int-arith-imm.ll |
 | llvm/test/CodeGen/AArch64/sve2-int-mul.ll |
 | llvm/test/CodeGen/AArch64/sve-vselect-imm.ll |
 | llvm/test/CodeGen/AArch64/sve-vector-splat.ll |
 | llvm/lib/Target/AArch64/SVEInstrFormats.td |
 | llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll |
Commit
4fa1ad05215d6242c4f195139fd4af7450cfd18e
by pavel[lldb] Convert POSIXLog to use the new API
|
 | lldb/source/Plugins/Process/Linux/SingleStepCheck.cpp |
 | lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp |
 | lldb/source/Plugins/Process/FreeBSD/NativeThreadFreeBSD.cpp |
 | lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp |
 | lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_ppc64le.cpp |
 | lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp |
 | lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp |
 | lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp |
 | lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp |
 | lldb/source/Plugins/Process/Linux/IntelPTManager.cpp |
 | lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp |
 | lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.h |
Commit
bfd5696b55cb80011162346ce7e234ebfe0447c3
by llvmgnsyncbot[gn build] Port 5da7c040030c
|
 | llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/BUILD.gn |
Commit
5157f984ae2c5e6fe9a8bd3a5dae99d5a96a276d
by Alexander Timofeev[AMDGPU] Enable divergence-driven XNOR selection
Currently not (xor_one_use) pattern is always selected to S_XNOR irrelative od the node divergence. This relies on further custom selection pass which converts to VALU if necessary and replaces with V_NOT_B32 ( V_XOR_B32) on those targets which have no V_XNOR. Current change enables the patterns which explicitly select the not (xor_one_use) to appropriate form. We assume that xor (not) is already turned into the not (xor) by the combiner.
Reviewed By: rampitec
Differential Revision: https://reviews.llvm.org/D116270
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/AMDGPU/fused-bitlogic.ll |
 | llvm/lib/Target/AMDGPU/SIISelLowering.h |
 | llvm/lib/Target/AMDGPU/SOPInstructions.td |
 | llvm/test/CodeGen/AMDGPU/xnor.ll |
 | llvm/include/llvm/CodeGen/TargetLowering.h |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/permute.ll |
 | llvm/test/CodeGen/AMDGPU/xor3.ll |
 | llvm/test/CodeGen/AMDGPU/divergence-driven-xnor.ll |
 | llvm/lib/Target/AMDGPU/VOP2Instructions.td |
 | llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll |
Commit
ff64327a801902460de3a7176beb0282d56a08be
by llvm-dev[X86] Extend PR53419 test coverage
Test on SSE2/SSE41/AVX1 targets to compare PMOVMSK vs PTEST codegen paths
Add v8i8 reduction case and test on X64 and X86 targets to check 32-bit handling
|
 | llvm/test/CodeGen/X86/pr53419.ll |
Commit
e6ce2c0b8d5f8253791bf87145669c58328c30db
by ntv[mlir][LLVM] Add support for operand_attrs to InlineAsmOp
This revision adds enough support to allow InlineAsmOp to work properly with indirect memory constraints "*m". These require an explicit "elementtype" TypeAttr on the operands to pass LLVM verification and need to be provided.
Reviewed By: bkramer
Differential Revision: https://reviews.llvm.org/D118006
|
 | mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td |
 | mlir/lib/Dialect/X86Vector/Transforms/AVXTranspose.cpp |
 | mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp |
 | mlir/test/Integration/Dialect/Vector/CPU/X86Vector/test-inline-asm-vector-avx512.mlir |
Commit
b58174d6248805c8994cfe685c826d3f14961202
by sgueltonCleanup headers for BinaryFormat
A few header removal, some forward declarations. As usual, this can break your build due to false dependencies, the most notable change are:
- "llvm/BinaryFormat/AMDGPUMetadataVerifier.h" no longer includes "llvm/BinaryFormat/MsgPackDocument.h"
The impact on generated preprocessed lines for LLVMBinaryFormat is pretty nice:
$ clang++ -E -Iinclude -I../llvm/include ../llvm/lib/BinaryFormat/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l before this patch: 705281 after this patch: 751456
Discourse thread on the topic: https://llvm.discourse.group/t/include-what-you-use-include-cleanup
|
 | llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp |
 | llvm/lib/BinaryFormat/Magic.cpp |
 | llvm/include/llvm/BinaryFormat/Dwarf.h |
 | llvm/include/llvm/BinaryFormat/AMDGPUMetadataVerifier.h |
 | llvm/include/llvm/BinaryFormat/MsgPackReader.h |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
 | llvm/include/llvm/BinaryFormat/MsgPackWriter.h |
 | llvm/include/llvm/BinaryFormat/ELF.h |
 | llvm/lib/BinaryFormat/ELF.cpp |
Commit
52c7faeae8fce49cd7e3853a29bb38e3ce5be892
by nathan[demangler] improve test harness
The demangler test harness is a little unclear. The failed demangling message always causes me to think about 'reality', changing to a simple 'Found' seems clearer.
The expected-to-fail tests abort as soon as one passes, rather than continue, and then abort if any passed. This changes that loop to fail at the end, in a similar manner to the expected-to-work loop.
Reviewed By: ChuanqiXu
Differential Revision: https://reviews.llvm.org/D118130
|
 | libcxxabi/test/test_demangle.pass.cpp |
Commit
4e5fce58485cc69ee69da10e26a338ceeef280a0
by nathan[demangler] refactor SpecialSubKind
Code generating the special substitutions in std is a switch statement with each case block containing the same conststruction template. It is more efficient to commonize that after the switch, having determined which SubKind to create. Also, let's sort the cases.
Reviewed By: ChuanqiXu
Differential Revision: https://reviews.llvm.org/D118131
|
 | llvm/include/llvm/Demangle/ItaniumDemangle.h |
 | libcxxabi/src/demangle/ItaniumDemangle.h |
Commit
718562a469f98a580975a5662f381cca9f1b3de5
by andrzej.warzynski[flang][tco] Remove unneeded dependencies
`tco` does not generate machine code, so it does not require (machine) code-gen related dependencies.
Differential Revision: https://reviews.llvm.org/D118112
|
 | flang/tools/tco/CMakeLists.txt |
 | flang/tools/tco/tco.cpp |
Commit
e30525b6a5c46a44ae7bef2f9ac60614396ee9b3
by paul.walker[AArch64] Add NEON test cases for ISD::ABDS/U.
|
 | llvm/test/CodeGen/AArch64/neon-abd.ll |
Commit
03d0acc545653fc65d5707424446563aa9d735a4
by npopov[DSE] Use helper for unwind check (NFCI)
This should be no functional change, as the cases supported by the helper and the cases supported by DSE are currently the same, the code structure is just slightly different.
|
 | llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp |
Commit
0984aa70da1047677577c3a1eb0445fca90d8614
by sgueltonFix conditional include in ThreadPool
Should fix https://lab.llvm.org/buildbot#builders/37/builds/10259
|
 | llvm/lib/Support/ThreadPool.cpp |
Commit
5ceb0bc7eaccb318eb299ee308e01210a7da1d1e
by simon.moll[VE] Packed 32/64bit broadcast isel and tests
Packed-mode broadcast of f32/i32 requires the subregister to be replicated to the full I64 register prior. Add repl_i32 and repl_f32 to faciliate this.
Reviewed By: kaz7
Differential Revision: https://reviews.llvm.org/D117878
|
 | llvm/lib/Target/VE/VEInstrInfo.td |
 | llvm/lib/Target/VE/VEISelLowering.cpp |
 | llvm/test/CodeGen/VE/Packed/vec_broadcast.ll |
 | llvm/lib/Target/VE/VECustomDAG.cpp |
 | llvm/lib/Target/VE/VEISelLowering.h |
 | llvm/lib/Target/VE/VEInstrPatternsVec.td |
 | llvm/lib/Target/VE/VECustomDAG.h |
Commit
c283c8dfb5a9770126f06f55644c6208b5582c19
by mailRewrite Doxygen comment to resolve -Wdocumentation warning (NFC)
Comment change only, no functional change intended. Example of warning: https://lab.llvm.org/buildbot/#/builders/188/builds/8696/steps/4/logs/warnings__2_
|
 | clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h |
Commit
b48e3782182639d4e59624290f166a84e53300bb
by sgueltonCleanup LLVMTextAPI headers
Based on the output of iwyu. A full rebuild of llvm-project doesn't exhibit any significant false dependencies.
The impact on preprocessed output is larger than expected, given the small amount of changes
$ clang++ -E -Iinclude -I../llvm/include ../llvm/lib/TextAPI/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l before: 635319 After: 643716
Discourse thread on the topic: https://llvm.discourse.group/t/include-what-you-use-include-cleanup
|
 | llvm/lib/TextAPI/PackedVersion.cpp |
 | llvm/lib/TextAPI/Target.cpp |
 | llvm/lib/TextAPI/Architecture.cpp |
 | llvm/include/llvm/TextAPI/InterfaceFile.h |
 | llvm/include/llvm/TextAPI/Target.h |
 | llvm/lib/TextAPI/TextStubCommon.h |
Commit
31c1842a7b5ef4897fe3cbec21d261dae6ed5a74
by npopov[DSE] Add test with sret argument (NFC)
|
 | llvm/test/Transforms/DeadStoreElimination/simple.ll |
Commit
37c4bd0fdbc6bc5ec6145765d6f4dcd06540201d
by david.spickett[lldb] Add MemoryTagMap class
The tag map holds a sparse set of memory tags and allows you to query ranges for tags.
Granules that do not have tags will be set to llvm::None. to keep the ordering intact. If there are no tags for the requested range we'll just return an empty result so that callers don't need to check that all values are llvm::None.
This will be combined with MemoryTagManager's MakeTaggedRanges: * MakeTaggedRanges * Read from all those ranges * Insert the results into the tag map * Give the tag map to whatever needs to print tags
Which in this case will be "memory read"/DumpDataExtractor.
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D112825
|
 | lldb/source/Target/CMakeLists.txt |
 | lldb/unittests/Target/MemoryTagMapTest.cpp |
 | lldb/include/lldb/Target/MemoryTagMap.h |
 | lldb/unittests/Target/CMakeLists.txt |
 | lldb/source/Target/MemoryTagMap.cpp |
Commit
8700b22cf622fdcefab0f9bf8377bcf6dda39ac7
by llvmgnsyncbot[gn build] Port 37c4bd0fdbc6
|
 | llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn |
Commit
360af60e17283020e160609d82268ecf806e2178
by Abhina.Sreeskantharajan[SystemZ][z/OS] Add AutoConvert.h header to MemoryBuffer.cpp
This commit https://github.com/llvm/llvm-project/commit/75e164f61d391979b4829bf2746a5d74b94e95f2 removed the AutoConvert.h header causing a build break on z/OS. This patch adds it back to fix it.
Reviewed By: zibi
Differential Revision: https://reviews.llvm.org/D118129
|
 | llvm/lib/Support/MemoryBuffer.cpp |
Commit
5d2f90cbcd5f64d3b47ba5d2738939be66f05936
by david.spickett[lldb] Correct some uses of \b in Doxygen documentation
|
 | lldb/include/lldb/Breakpoint/BreakpointOptions.h |
 | lldb/include/lldb/Interpreter/Options.h |
 | lldb/include/lldb/Target/Process.h |
 | lldb/include/lldb/Target/Target.h |
 | lldb/include/lldb/Symbol/CompileUnit.h |
Commit
8d714e4ad592eee351afa95a2cb3d38335a70fb6
by david.spickett[lldb] Correct \params to \param in StackFrame Doxygen comments
|
 | lldb/include/lldb/Target/StackFrame.h |
 | lldb/source/Target/StackFrame.cpp |
Commit
ecf7a0e33883fc8f001445c68a1128866cb81d38
by sebastian.neubauer[CMake] Disable mvsc warning for new versions
Starting with VS 2019, CMake defaults to the x64 host toolchain, so the warning does not apply anymore.
References: VS 2017 defaults to x86 https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2015%202017.html?highlight=host#toolset-selection VS 2019 and 2022 default to x64 for x64 targets https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2016%202019.html?highlight=host#toolset-selection https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2017%202022.html?highlight=host#toolset-selection
Differential Revision: https://reviews.llvm.org/D118228
|
 | llvm/CMakeLists.txt |
Commit
2feddb37b48ea55f0d586d2710b9bc17f607e3e1
by sander.desmalenImplement correct cost for SVE bitcasts
We have some bitcasts which we know will be simplified, so their cost is zero.
Reviewed By: david-arm, sdesmalen
Differential Revision: https://reviews.llvm.org/D118019
|
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp |
 | llvm/test/Analysis/CostModel/AArch64/sve-bitcast.ll |
Commit
903c3d2863b9d0ae760a2f45e0e934f1d12cd1d4
by npopov[SCEVExpander] Always use i8 GEP for reused value offset
We could keep the non-i8 GEP code for non-opaque pointers, but there's two reasons I'm dropping it: First, this actually appears to be dead code, at least it isn't hit in any of our tests. I expect that this is because we usually expand trip counts, and those are never pointers (anymore). Second, the non-i8 GEP was actually incorrect in multiple ways, because it used SCEV type sizes, which don't match DL type sizes (for pointers) and certainly don't match type alloc sizes (which is what GEPs actually use). As such, I'm simplifying the code to always use the i8 GEP code path if it does get hit.
|
 | llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp |
Commit
070090d08eb506187f7203bd3b321ca1e74d9d5c
by david.spickett[lldb] Add option to show memory tags in memory read output
This adds an option --show-tags to "memory read".
(lldb) memory read mte_buf mte_buf+32 -f "x" -s8 --show-tags 0x900fffff7ff8000: 0x0000000000000000 0x0000000000000000 (tag: 0x0) 0x900fffff7ff8010: 0x0000000000000000 0x0000000000000000 (tag: 0x1)
Tags are printed on the end of each line, if that line has any tags associated with it. Meaning that untagged memory output is unchanged.
Tags are printed based on the granule(s) of memory that a line covers. So you may have lines with 1 tag, with many tags, no tags or partially tagged lines.
In the case of partially tagged lines, untagged granules will show "<no tag>" so that the ordering is obvious. For example, a line that covers 2 granules where the first is not tagged:
(lldb) memory read mte_buf-16 mte_buf+16 -l32 -f"x" --show-tags 0x900fffff7ff7ff0: 0x00000000 <...> (tags: <no tag> 0x0)
Untagged lines will just not have the "(tags: ..." at all. Though they may be part of a larger output that does have some tagged lines.
To do this I've extended DumpDataExtractor to also print memory tags where it has a valid execution context and is asked to print them.
There are no special alignment requirements, simply use "memory read" as usual. All alignment is handled in DumpDataExtractor.
We use MakeTaggedRanges to find all the tagged memory in the current dump, then read all that into a MemoryTagMap.
The tag map is populated once in DumpDataExtractor and re-used for each subsequently printed line (or recursive call of DumpDataExtractor, which some formats do).
Reviewed By: omjavaid
Differential Revision: https://reviews.llvm.org/D107140
|
 | lldb/source/Commands/CommandObjectMemory.cpp |
 | lldb/source/Core/DumpDataExtractor.cpp |
 | lldb/test/API/linux/aarch64/mte_tag_access/TestAArch64LinuxMTEMemoryTagAccess.py |
 | llvm/docs/ReleaseNotes.rst |
 | lldb/source/Commands/Options.td |
 | lldb/include/lldb/Core/DumpDataExtractor.h |
Commit
a5e324e3e2edcc72d9e402b4d846cae615192ad8
by npopov[AMDGPUHSAMetadataStreamer] Do not assume ABI alignment for pointers
AMDGPUHSAMetadataStreamer currently assumes that pointer arguments without align attribute have ABI alignment of the pointee type. This is incompatible with opaque pointers, but also plain incorrect: Pointer arguments without explicit alignment have alignment 1. It is the responsibility of the frontent to add correct align annotations.
Differential Revision: https://reviews.llvm.org/D118229
|
 | llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll |
Commit
33c3ef2fbeec4ede5fc303b09cdca99ae2c0522a
by sam.mccall[CodeCompletion][clangd] Clean __uglified parameter names in completion & hover
Underscore-uglified identifiers are used in standard library implementations to guard against collisions with macros, and they hurt readability considerably. (Consider `push_back(Tp_ &&__value)` vs `push_back(Tp value)`. When we're describing an interface, the exact names of parameters are not critical so we can drop these prefixes.
This patch adds a new PrintingPolicy flag that can applies this stripping when recursively printing pieces of AST. We set it in code completion/signature help, and in clangd's hover display. All three features also do a bit of manual poking at names, so fix up those too.
Fixes https://github.com/clangd/clangd/issues/736
Differential Revision: https://reviews.llvm.org/D116387
|
 | clang/include/clang/AST/PrettyPrinter.h |
 | clang/lib/AST/TemplateName.cpp |
 | clang/unittests/AST/DeclPrinterTest.cpp |
 | clang/lib/AST/DeclPrinter.cpp |
 | clang/lib/Sema/SemaCodeComplete.cpp |
 | clang/unittests/AST/StmtPrinterTest.cpp |
 | clang/lib/AST/TypePrinter.cpp |
 | clang/test/CodeCompletion/deuglify.cpp |
 | clang/include/clang/Basic/IdentifierTable.h |
 | clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp |
 | clang/unittests/AST/TypePrinterTest.cpp |
 | clang/lib/Basic/IdentifierTable.cpp |
 | clang/lib/AST/StmtPrinter.cpp |
Commit
f7202723304461c4f94399b906333d6ede85579a
by Jan Svoboda[clang][lex] Include tracking: simplify and move to preprocessor
This patch replaces the exact include count of each file in `HeaderFileInfo` with a set of included files in `Preprocessor`.
The number of includes isn't a property of a header file but rather a preprocessor state. The exact number of includes is not used anywhere except statistic tracking.
Reviewed By: vsapsai
Differential Revision: https://reviews.llvm.org/D114095
|
 | clang/include/clang/Lex/HeaderSearch.h |
 | clang/lib/Serialization/ASTReader.cpp |
 | clang/lib/Lex/HeaderSearch.cpp |
 | clang/include/clang/Lex/Preprocessor.h |
 | clang/include/clang/Serialization/ASTWriter.h |
 | clang/lib/Lex/Preprocessor.cpp |
 | clang/lib/Serialization/ASTWriter.cpp |
 | clang/include/clang/Serialization/ASTBitCodes.h |
 | clang/include/clang/Serialization/ASTReader.h |
 | clang/lib/Lex/PPDirectives.cpp |
Commit
dc441d776f9f8c3bbde4e234c606abffe7d5a95e
by csigg[NVPTX] NFC: Remove unused arguments and attribute from test
|
 | llvm/test/CodeGen/NVPTX/fminimum-fmaximum.ll |
Commit
0c56bc92e4b9cf949f431d1c9e11e9b509ef6dbd
by nemanja.i.ibm[PowerPC] Fix eq/ne comparison of v2i64 pre-Power8
In commit 1674d9b6b2da, I fixed the bug where we didn't consider both words of the result of the comparison. However, the logic needs to be different for eq and ne. Namely for eq, we need both words of the doubleword to equal so it is an AND. OTOH for ne, we need either word to be unequal so it is an OR.
|
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/test/CodeGen/PowerPC/vec-icmpeq-v2i64-p7.ll |
 | llvm/test/CodeGen/PowerPC/vsx.ll |
 | llvm/test/CodeGen/PowerPC/vector-popcnt-128-ult-ugt.ll |
Commit
1f3aa2af9d79daa6431443caac04839e54644a8f
by marek.kurdej+llvm.org[Visualizers] Fix SmallVector<T> visualizer for T inside an anonymous namespace. Use `value_type` instead of `$T1`.
At least on MSVC 2022, using $T1 does not work.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D118105
|
 | llvm/utils/LLVMVisualizers/llvm.natvis |
Commit
268524238e903261231c6dafca65d9831e3ca34c
by springerm[mlir][bufferization] Add an option to use memref types without layout maps
This is for compatibility with existing bufferization passes. Also clean up memref type generation a bit.
Differential Revision: https://reviews.llvm.org/D118243
|
 | mlir/lib/Dialect/Linalg/ComprehensiveBufferize/SCFInterfaceImpl.cpp |
 | mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h |
 | mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir |
 | mlir/test/lib/Dialect/Linalg/TestComprehensiveBufferize.cpp |
 | mlir/include/mlir/Dialect/Linalg/Passes.td |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-partial.mlir |
 | mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp |
 | mlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp |
Commit
b777d354f6703afd58b1803fdfb6d43a607d8fd6
by kadircet[clang][DeclPrinter] Fix printing for noexcept expressions
We are already building into the final result, no need to append it again.
Fixes https://github.com/clangd/vscode-clangd/issues/290.
Differential Revision: https://reviews.llvm.org/D118245
|
 | clang/unittests/AST/DeclPrinterTest.cpp |
 | clang/lib/AST/DeclPrinter.cpp |
Commit
93948c5299d7ee446aa707221751a0af2b87c12b
by marek.kurdej+llvm.org[clang-format] Correctly format lambdas with variadic template parameters.
Fixes https://github.com/llvm/llvm-project/issues/53405.
Reviewed By: MyDeveloperDay, owenpan
Differential Revision: https://reviews.llvm.org/D118220
|
 | clang/unittests/Format/FormatTest.cpp |
 | clang/lib/Format/UnwrappedLineParser.cpp |
Commit
de8867a0b6407c9b6d95a2ecb830256f0e224b52
by npopov[AMDGPUEmitPrintf] Don't require specific pointer element type
Rather than checking for i8*, simply add a bitcast to i8*, so the appendString() code sees the expected type.
|
 | llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp |
Commit
99ae5c13f64e138d6b17c00bd01c87c3ce58cb6b
by llvm-dev[X86] Add 'getSplitVectorSrc' helper to determine if subvectors all come from the same source
Helps determine if the subvector ops come from the same larger vector and match the lower/upper extractions
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
ef8206320769ad31422a803a0d6de6077fd231d2
by sgueltonRename llvm::array_lengthof into llvm::size to match std::size from C++17
As a conquence move llvm::array_lengthof from STLExtras.h to STLForwardCompat.h (which is included by STLExtras.h so no build breakage expected).
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
 | clang/unittests/AST/CommentParser.cpp |
 | llvm/lib/DWP/DWP.cpp |
 | mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td |
 | llvm/unittests/Support/TargetParserTest.cpp |
 | llvm/lib/Target/ARM/Thumb2SizeReduction.cpp |
 | llvm/include/llvm/CodeGen/TargetLowering.h |
 | clang/lib/Sema/DeclSpec.cpp |
 | llvm/unittests/ProfileData/CoverageMappingTest.cpp |
 | llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp |
 | llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp |
 | mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp |
 | llvm/lib/Support/raw_ostream.cpp |
 | lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp |
 | clang/lib/Basic/DiagnosticIDs.cpp |
 | lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp |
 | llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp |
 | llvm/utils/TableGen/X86DisassemblerTables.cpp |
 | clang/unittests/AST/CommentLexer.cpp |
 | llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp |
 | llvm/lib/Support/ARMAttributeParser.cpp |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | lldb/source/DataFormatters/FormatManager.cpp |
 | lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp |
 | llvm/include/llvm/ADT/STLExtras.h |
 | clang/lib/Driver/Types.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/utils/TableGen/RegisterInfoEmitter.cpp |
 | clang/lib/CodeGen/CGExpr.cpp |
 | lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp |
 | clang/lib/AST/ASTContext.cpp |
 | llvm/tools/llvm-config/llvm-config.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp |
 | clang/lib/CodeGen/CGObjC.cpp |
 | lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp |
 | lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/lib/Support/RISCVAttributeParser.cpp |
 | clang/lib/Frontend/PrintPreprocessedOutput.cpp |
 | llvm/lib/Support/X86TargetParser.cpp |
 | llvm/lib/Target/PowerPC/PPCFrameLowering.cpp |
 | lldb/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp |
 | lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp |
 | llvm/lib/Target/PowerPC/PPCInstrInfo.cpp |
 | llvm/lib/Target/PowerPC/PPCCallingConv.cpp |
 | lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_i386.cpp |
 | lldb/source/Plugins/ObjectFile/PECOFF/PECallFrameInfo.cpp |
 | lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp |
 | lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_x86_64.cpp |
 | lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp |
 | llvm/lib/Support/CrashRecoveryContext.cpp |
 | clang/lib/Driver/ToolChain.cpp |
 | lldb/source/Host/common/MainLoop.cpp |
 | llvm/lib/Object/MachOObjectFile.cpp |
 | llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp |
 | llvm/lib/Target/Hexagon/HexagonFrameLowering.h |
 | llvm/lib/Transforms/Utils/MetaRenamer.cpp |
 | lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_WoW64.cpp |
 | lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/unittests/Support/CommandLineTest.cpp |
 | llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp |
 | llvm/lib/Support/Unix/Signals.inc |
 | clang/lib/Driver/ToolChains/Darwin.cpp |
 | llvm/lib/Target/AVR/AVRISelLowering.cpp |
 | lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp |
 | llvm/lib/Target/Mips/Mips16ISelLowering.cpp |
 | lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp |
 | lldb/source/Plugins/Process/Windows/Common/arm64/RegisterContextWindows_arm64.cpp |
 | lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp |
 | lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp |
 | clang/lib/Sema/ParsedAttr.cpp |
 | lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp |
 | llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp |
 | llvm/lib/Support/Windows/Path.inc |
 | llvm/unittests/ADT/APFloatTest.cpp |
 | clang/include/clang/AST/OpenMPClause.h |
 | llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp |
 | llvm/include/llvm/ADT/STLForwardCompat.h |
 | llvm/lib/Target/ARM/ARMFrameLowering.cpp |
 | llvm/unittests/Support/BinaryStreamTest.cpp |
 | lld/COFF/Chunks.cpp |
 | clang/lib/Sema/SemaLookup.cpp |
 | lldb/unittests/Utility/StatusTest.cpp |
 | llvm/lib/Support/Windows/Signals.inc |
 | clang/lib/Basic/Targets/NVPTX.h |
 | clang/test/Analysis/templates.cpp |
 | clang/lib/Sema/TreeTransform.h |
 | llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp |
 | lldb/source/Interpreter/CommandInterpreter.cpp |
 | llvm/lib/Target/Hexagon/HexagonISelLowering.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp |
 | llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp |
 | lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp |
 | llvm/lib/IR/DebugInfoMetadata.cpp |
 | llvm/tools/llvm-objdump/COFFDump.cpp |
 | llvm/lib/Target/ARC/ARCISelLowering.cpp |
 | llvm/lib/Target/MSP430/MSP430ISelLowering.cpp |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
 | llvm/lib/MC/MCAsmBackend.cpp |
 | clang/lib/AST/CommentCommandTraits.cpp |
 | lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.cpp |
 | lldb/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp |
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp |
 | llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp |
 | llvm/utils/KillTheDoctor/KillTheDoctor.cpp |
 | llvm/unittests/ADT/StringRefTest.cpp |
 | clang/lib/AST/AttrDocTable.cpp |
 | clang/lib/Parse/ParseDecl.cpp |
 | lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp |
 | clang/unittests/AST/DeclPrinterTest.cpp |
 | clang/lib/Parse/ParseOpenMP.cpp |
 | llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp |
 | lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp |
 | llvm/include/llvm/MC/SubtargetFeature.h |
 | llvm/lib/Target/VE/VEFrameLowering.h |
 | clang/test/SemaTemplate/instantiate-init.cpp |
 | mlir/lib/Dialect/SPIRV/IR/SPIRVEnums.cpp |
 | clang/lib/Driver/Compilation.cpp |
 | lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp |
 | llvm/lib/Support/Triple.cpp |
 | llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp |
 | llvm/lib/Support/NativeFormatting.cpp |
 | lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp |
 | lldb/source/Host/windows/ConnectionGenericFileWindows.cpp |
 | llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp |
 | llvm/utils/TableGen/AsmWriterEmitter.cpp |
 | lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp |
 | llvm/lib/MC/MCDwarf.cpp |
 | llvm/unittests/Support/FormatVariadicTest.cpp |
 | lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp |
 | lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm.cpp |
 | clang/unittests/Tooling/CompilationDatabaseTest.cpp |
 | lldb/source/Utility/ArchSpec.cpp |
 | llvm/utils/TableGen/CodeGenTarget.cpp |
 | llvm/lib/CodeGen/TargetLoweringBase.cpp |
 | lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.cpp |
 | llvm/lib/Target/AMDGPU/R600RegisterInfo.cpp |
 | llvm/lib/Target/XCore/XCoreISelLowering.cpp |
 | lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp |
 | llvm/unittests/ADT/TinyPtrVectorTest.cpp |
Commit
d70d9977999b8a08fe5635fb2c58588e6ffb7997
by spatel[x86] add test for miscompile from wrong min signbits ( #53401 ); NFC
|
 | llvm/test/CodeGen/X86/vselect-constants.ll |
Commit
63daea8b35cdb48d6061dc8ad72e5445b808dbce
by spatel[SDAG] fix bug in ComputeNumSignBits of target constant
The loop below the changed line assumes that the element width of the target constant is the same as the element width of the loaded value, but that is not always true.
We could try harder to do some kind of min/max calc even if the sizes don't match, but that can be another patch if needed. This fixes #53401 (miscompile) and does not change the motivating cases added when this analysis was introduced: ad298f86b7ad2a
|
 | llvm/test/CodeGen/X86/vselect-constants.ll |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
Commit
df597bf000b5c566e0f9218a53927daf9bc60f6d
by dongaxis[NFC][ORC][AArch64] use isInt<N> to replace fitsRangeSignedInt on aarch64
Summary: This is the first path to support more relocation types on aarch64. The patch just uses the isInt<N> to replace fitsRangeSignedInt.
Test Plan: check-all
Differential Revision: https://reviews.llvm.org/D118231
|
 | llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp |
Commit
75c22b382f2a7b0bb9499215a3d64e146e3f02cc
by sgatev[clang][dataflow] Add a transfer function for CXXBoolLiteralExpr
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev.
Reviewed-by: xazax.hun
Differential Revision: https://reviews.llvm.org/D118236
|
 | clang/lib/Analysis/FlowSensitive/Transfer.cpp |
 | clang/unittests/Analysis/FlowSensitive/TransferTest.cpp |
Commit
297bbf106288b0d673709ca02917d82e7bebdf1a
by sgueltonFix ambiguous call to llvm::size introduced in ef8206320769ad31422
|
 | llvm/utils/TableGen/X86DisassemblerTables.cpp |
Commit
f15014ff549a8686671a599f7b49ce9963769eaf
by benny.kraRevert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17"
This reverts commit ef8206320769ad31422a803a0d6de6077fd231d2.
- It conflicts with the existing llvm::size in STLExtras, which will now never be called. - Calling it without llvm:: breaks C++17 compat
|
 | clang/lib/Driver/Types.cpp |
 | llvm/lib/MC/MCAsmBackend.cpp |
 | llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp |
 | llvm/lib/Support/Windows/Path.inc |
 | lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp |
 | clang/lib/Sema/ParsedAttr.cpp |
 | lldb/source/Plugins/ObjectFile/PECOFF/PECallFrameInfo.cpp |
 | llvm/unittests/Support/TargetParserTest.cpp |
 | clang/lib/CodeGen/CGObjC.cpp |
 | lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | llvm/lib/Target/Hexagon/HexagonFrameLowering.h |
 | llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp |
 | llvm/lib/Support/NativeFormatting.cpp |
 | llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp |
 | llvm/lib/Target/VE/VEFrameLowering.h |
 | lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp |
 | llvm/lib/CodeGen/TargetLoweringBase.cpp |
 | llvm/lib/Target/AVR/AVRISelLowering.cpp |
 | llvm/utils/TableGen/RegisterInfoEmitter.cpp |
 | lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp |
 | lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp |
 | llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp |
 | lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp |
 | clang/lib/Parse/ParseDecl.cpp |
 | llvm/include/llvm/CodeGen/TargetLowering.h |
 | llvm/include/llvm/MC/SubtargetFeature.h |
 | llvm/unittests/ADT/APFloatTest.cpp |
 | llvm/lib/Target/ARC/ARCISelLowering.cpp |
 | lldb/source/Host/common/MainLoop.cpp |
 | lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp |
 | lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp |
 | llvm/tools/llvm-config/llvm-config.cpp |
 | lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_i386.cpp |
 | llvm/unittests/ProfileData/CoverageMappingTest.cpp |
 | llvm/utils/KillTheDoctor/KillTheDoctor.cpp |
 | llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp |
 | clang/include/clang/AST/OpenMPClause.h |
 |