Commit
bb162dfe252a1abc15af411d8ba51dda63af306c
by Alex Lorenz[clang] attempt to fix a linux test failure for the darwin-ld-platform-version-macos.c test
Clang should use explicit -target to ensure that the Darwin driver is used. Also drop arm64e test-case for now.
|
 | clang/test/Driver/darwin-ld-platform-version-macos.c |
Commit
11cd9770174603aa62deabbe96c7d0db64d07058
by dblaikieAdd missing #include
A forward declaration was insufficient here - since Regex needs to be complete for the implicit dtor to be compiled correctly. (that, or the dtor would have to be made explicit and out of line)
|
 | clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h |
Commit
f01d9e6fc3e291a2faed8c9b7dcbabf760f32bd6
by mkazantsev[SimplifyCFG] Fix inconsistency in block size assessment for threading
Sometimes SimplifyCFG may decide to perform jump threading. In order to do it, it follows the following algorithm:
1. Checks if the block is small enough for threading; 2. If yes, inserts a PR Phi relying that the next iteration will remove it by performing jump threading; 3. The next iteration checks the block again and performs the threading.
This logic has a corner case: inserting the PR Phi increases block's size by 1. If the block size at first check was max possible, one more Phi will exceed this size, and we will neither perform threading nor remove the created Phi node. As result, we will end up with worse IR than before.
This patch fixes this situation by excluding Phis from block size computation. Excluding Phis from size computation for threading also makes sense by itself because in case of threadign all those Phis will be removed.
Differential Revision: https://reviews.llvm.org/D81835 Reviewed By: asbirlea, nikic
|
 | llvm/lib/Transforms/Utils/SimplifyCFG.cpp |
 | llvm/test/Transforms/SimplifyCFG/unprofitable-pr.ll |
Commit
6b9a706200cbb27e5e863cfd41fb3684ee616e23
by riddleriverAdd front/back accessors to indexed_accessor_range.
These map to the similar accessors on ArrayRef and other random access containers.
This fixes a compilation error on MLIR ODS for variadic operands/results, which relied on the availability of front in certain situations.
|
 | mlir/test/lib/Dialect/Test/TestOps.td |
 | llvm/include/llvm/ADT/STLExtras.h |
Commit
46a7f4d6f4bf2cc23a410e771adb587c5968047d
by david.sherwood[SVE][CodeGen] Fix bug in DAGCombiner::reduceBuildVecToShuffle
When trying to reduce a BUILD_VECTOR to a SHUFFLE_VECTOR it's important that we carefully check the vector types that led to that BUILD_VECTOR. In the test I have attached to this commit there is a case where the results of two SVE faddv instructions are being stored to consecutive memory locations. With my fix, as part of merging those stores we discover that each BUILD_VECTOR element came from an extract of a SVE vector element and therefore bail out.
Differential Revision: https://reviews.llvm.org/D82564
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/AArch64/sve-merging-stores.ll |
Commit
2c663aa539c3c378599776f4a6849f1cbee5fb93
by alexshap[llvm-objcopy][MachO] Fix segment size alignment
This diff addresses the old TODO in MachOObjcopy.cpp and correctly sets the page size used for alignment of segments. In particular, now llvm-objcopy's output is consistent with the input (the alignment of vmsize doesn't change).
Test plan:
1. make check-all 2. verify that a binary copied via llvm-objcopy now correctly works on iOS.
Differential revision: https://reviews.llvm.org/D82503
|
 | llvm/test/tools/llvm-objcopy/MachO/segment-size-alignment.test |
 | llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp |
Commit
ef7aad0db49f0a3623b42af991ba4ae48099a58d
by paulsson[SystemZ] Improve handling of ZERO_EXTEND_VECTOR_INREG.
Instead of doing multiple unpacks when zero extending vectors (e.g. v2i16 -> v2i64), benchmarks have shown that it is better to do a VPERM (vector permute) since that is only one sequential instruction on the critical path.
This patch achieves this by
1. Expand ZERO_EXTEND_VECTOR_INREG into a vector shuffle with a zero vector instead of (multiple) unpacks.
2. Improve SystemZ::GeneralShuffle to perform a single unpack as the last operation if Bytes matches it.
Review: Ulrich Weigand Differential Revision: https://reviews.llvm.org/D78486
|
 | llvm/lib/Target/SystemZ/SystemZISelLowering.cpp |
 | llvm/lib/Target/SystemZ/SystemZISelLowering.h |
 | llvm/test/CodeGen/SystemZ/vec-move-16.ll |
 | llvm/test/CodeGen/SystemZ/vec-zext.ll |
 | llvm/test/CodeGen/SystemZ/vec-move-24.ll |
 | llvm/test/CodeGen/SystemZ/vec-move-23.ll |
Commit
c02332a69399a82244298f0097bc98fafdeb3042
by david.sherwood[CodeGen] Fix warning in getNode for EXTRACT_SUBVECTOR
Fix a warning in getNode() when extracting a subvector from a concat vector. We can simply replace the call to getVectorNumElements with getVectorMinNumElements as this follows the defined behaviour for EXTRACT_SUBVECTOR.
Differential Revision: https://reviews.llvm.org/D82746
|
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
Commit
767c9c5bf5ba4dbaa8edadb1d2e26254321c30c0
by craig.topper[X86] Remove an isel pattern than can never match. Remove bitcasts of loads from a few others.
|
 | llvm/lib/Target/X86/X86InstrXOP.td |
Commit
ed4328c607306a2aa6df4833a0dce4482edbc94c
by simon.tathamFix missing build dependency on omp_gen.
Summary: `include/llvm/Frontend/OpenMP/CMakeLists.txt` creates a new target called `omp_gen`, which is automatically added to `LLVM_COMMON_DEPENDS` by the `add_public_tablegen_target` macro. But it only gets added to the version of `LLVM_COMMON_DEPENDS` in the scope of that subsidiary CMakeLists file, and it doesn't propagate all the way back up to the permanent version of that variable which is actually used to set dependencies.
The visible effect is that the output build scripts contain a missing dependency. For example, if I run cmake in Ninja output mode, and then run
ninja -t commands tools/clang/examples/PrintFunctionNames/CMakeFiles/PrintFunctionNames.dir/PrintFunctionNames.cpp.o
to list all the commands that are prerequisites of building that object file, then the list does not include the llvm-tblgen command that builds `include/llvm/Frontend/OpenMP/OMP.h.inc`, even though that generated include file is needed (by a chain of includes starting from `clang/AST/AST.h`), and that object file can't be compiled without it. This missing dependency can cause intermittent build failures, depending on the order that Ninja (or whatever) happens to schedule its commands.
I've fixed it by adding a `set` command in two levels of `CMakeLists.txt` to propagate the modified version of `LLVM_COMMON_DEPENDS` back up through the parent scopes so that `omp_gen` does end up on the version seen by the main `llvm/CMakeLists.txt`.
Reviewers: clementval, thakis, chandlerc, jdoerfert
Reviewed By: clementval
Subscribers: jdenny, mgorny, sstefan1, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82659
|
 | llvm/include/llvm/CMakeLists.txt |
 | llvm/include/llvm/Frontend/OpenMP/CMakeLists.txt |
Commit
4f5133a4dcd0b023160879740d32bbcca198664f
by gchatelet[Alignment][NFC] Migrate AArch64, ARM, Hexagon, MSP and NVPTX backends to Align
This patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Differential Revision: https://reviews.llvm.org/D82749
|
 | llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
 | llvm/lib/Target/Hexagon/HexagonVExtract.cpp |
 | llvm/lib/Target/ARM/ARMFrameLowering.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp |
 | llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp |
Commit
19e75717eff2c22e6643addcc44caa8dc2f0125f
by anton[MSP430] Declare comparison LibCalls as returning i16 instead of i32
For TI's distribution of msp430-gcc ``` msp430-elf-gcc -S -o- -Os -x c - <<< "int f(float a, float b) { return a != b; }" ``` does not mention `R13` at all. `__libgcc_cmp_return__` machine mode is 2 byte on MSP430, as well.
Differential Revision: https://reviews.llvm.org/D82635
|
 | llvm/lib/Target/MSP430/MSP430ISelLowering.h |
 | llvm/test/CodeGen/MSP430/cmp-return-type.ll |
Commit
0ee439b705e82a4fe20e266bc8fea96d0e60e1ec
by anton[builtins] Change si_int to int in some helper declarations
This patch changes types of some integer function arguments or return values from `si_int` to the default `int` type to make it more compatible with `libgcc`.
The compiler-rt/lib/builtins/README.txt has a link to the [libgcc specification](http://gcc.gnu.org/onlinedocs/gccint/Libgcc.html#Libgcc). This specification has an explicit note on `int`, `float` and other such types being just illustrations in some cases while the actual types are expressed with machine modes.
Such usage of always-32-bit-wide integer type may lead to issues on 16-bit platforms such as MSP430. Provided [libgcc2.h](https://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=libgcc/libgcc2.h;hb=HEAD) can be used as a reference for all targets supported by the libgcc, this patch fixes some existing differences in helper declarations.
This patch is expected to not change behavior at all for targets with 32-bit `int` type.
Differential Revision: https://reviews.llvm.org/D81285
|
 | compiler-rt/lib/builtins/powitf2.c |
 | compiler-rt/lib/builtins/paritysi2.c |
 | compiler-rt/lib/builtins/clzsi2.c |
 | compiler-rt/test/builtins/Unit/ffsti2_test.c |
 | compiler-rt/lib/builtins/ctzti2.c |
 | compiler-rt/test/builtins/Unit/popcountsi2_test.c |
 | compiler-rt/lib/builtins/powidf2.c |
 | compiler-rt/lib/builtins/README.txt |
 | compiler-rt/test/builtins/Unit/parityti2_test.c |
 | compiler-rt/test/builtins/Unit/clzdi2_test.c |
 | compiler-rt/test/builtins/Unit/powisf2_test.c |
 | compiler-rt/lib/builtins/parityti2.c |
 | compiler-rt/test/builtins/Unit/clzsi2_test.c |
 | compiler-rt/test/builtins/Unit/clzti2_test.c |
 | compiler-rt/lib/builtins/ffsti2.c |
 | compiler-rt/test/builtins/Unit/powidf2_test.c |
 | compiler-rt/test/builtins/Unit/powitf2_test.c |
 | compiler-rt/test/builtins/Unit/popcountti2_test.c |
 | compiler-rt/test/builtins/Unit/paritysi2_test.c |
 | compiler-rt/test/builtins/Unit/ctzti2_test.c |
 | compiler-rt/lib/builtins/popcountsi2.c |
 | compiler-rt/lib/builtins/ctzdi2.c |
 | compiler-rt/test/builtins/Unit/paritydi2_test.c |
 | compiler-rt/lib/builtins/ctzsi2.c |
 | compiler-rt/test/builtins/Unit/ctzsi2_test.c |
 | compiler-rt/lib/builtins/powixf2.c |
 | compiler-rt/lib/builtins/popcountti2.c |
 | compiler-rt/lib/builtins/clzti2.c |
 | compiler-rt/lib/builtins/paritydi2.c |
 | compiler-rt/lib/builtins/clzdi2.c |
 | compiler-rt/test/builtins/Unit/powixf2_test.c |
 | compiler-rt/lib/builtins/int_lib.h |
 | compiler-rt/lib/builtins/powisf2.c |
Commit
a976ea3209b5ad2310882c0895e0095ba4b04eef
by gchatelet[Alignment][NFC] Migrate PPC, X86 and XCore backends to Align
This patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Differential Revision: https://reviews.llvm.org/D82779
|
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/lib/Target/XCore/XCoreFrameLowering.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/lib/Target/X86/X86ISelDAGToDAG.cpp |
 | llvm/lib/Target/XCore/XCoreMachineFunctionInfo.cpp |
 | llvm/lib/Target/PowerPC/PPCFrameLowering.cpp |
Commit
5f8bdb3e6a997a3031a447db38bd3c358fee86e4
by gchatelet[Alignment][NFC] TargetLowering::allowsMemoryAccess
Second patch of a series to adapt TargetLowering::allowsXXX functions
This patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Differential Revision: https://reviews.llvm.org/D82785
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/lib/Target/Hexagon/HexagonISelLowering.h |
 | llvm/lib/Target/Hexagon/HexagonISelLowering.cpp |
 | llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp |
 | llvm/lib/CodeGen/TargetLoweringBase.cpp |
 | llvm/include/llvm/CodeGen/TargetLowering.h |
Commit
60cde47893476581218c380921e5489c98be40ce
by n.james93[clang-tidy][docs] Fix malformed link in ReleaseNotes
|
 | clang-tools-extra/docs/ReleaseNotes.rst |
Commit
fe08ab542bd6328a7906e38ae473cf655eb6a228
by Xing[DWARFYAML][debug_info] Replace 'InitialLength' with 'Format' and 'Length'.
'InitialLength' is replaced with 'Format' (DWARF32 by default) and 'Length' in this patch. Besides, test cases for DWARFv4 and DWARFv5, DWARF32 and DWARF64 is added.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D82622
|
 | llvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml |
 | lldb/unittests/Expression/DWARFExpressionTest.cpp |
 | llvm/test/ObjectYAML/MachO/DWARF-debug_ranges.yaml |
 | llvm/test/tools/llvm-objcopy/MachO/Inputs/strip-all-with-dwarf.yaml |
 | llvm/test/tools/llvm-gsymutil/ARM_AArch64/fat-macho-dwarf.yaml |
 | llvm/include/llvm/ObjectYAML/DWARFYAML.h |
 | llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml |
 | llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp |
 | lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp |
 | llvm/lib/ObjectYAML/DWARFEmitter.cpp |
 | llvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml |
 | llvm/test/ObjectYAML/MachO/DWARF2-AddrSize8-FormValues.yaml |
 | llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_cu_ranges.yaml |
 | llvm/lib/ObjectYAML/DWARFYAML.cpp |
 | llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp |
 | llvm/tools/obj2yaml/dwarf2yaml.cpp |
 | llvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml |
 | lldb/unittests/Symbol/Inputs/inlined-functions.yaml |
 | llvm/lib/ObjectYAML/DWARFVisitor.cpp |
 | llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp |
 | lldb/test/API/functionalities/source-map/a.yaml |
 | llvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml |
Commit
8577a090f5f04e18d72bb2dd387e60082e4da0ca
by frgossen[MLIR][Shape] Fix lowering of `shape.get_extent`
The declarative conversion patterns caused crashes in the asan configuration. The non-declarative implementation circumvents this.
Differential Revision: https://reviews.llvm.org/D82797
|
 | mlir/lib/Conversion/ShapeToStandard/ShapeToStandardPatterns.td |
 | mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp |
Commit
39ea5d74b283d5a42f34b856d22bfaf806a1c907
by simon.tathamRevert "Fix missing build dependency on omp_gen."
This reverts commit ed4328c607306a2aa6df4833a0dce4482edbc94c.
My change apparently caused a buildbot to fail with the error
CMake Error at /b/sanitizer-x86_64-linux-autoconf/build/tsan_release_build/lib/cmake/llvm/AddLLVM.cmake:869 (add_dependencies): The dependency target "omp_gen" of target "ScudoBenchmarks.x86_64" does not exist.
I don't at all understand why, because as far as I can see, the target `omp_gen` is only added to `LLVM_COMMON_DEPENDS` after having been created, so there //should// be no way it can end up on anything's dependency list if it doesn't exist! But apparently it happened anyway.
Differential Revision: https://reviews.llvm.org/D82659
|
 | llvm/include/llvm/CMakeLists.txt |
 | llvm/include/llvm/Frontend/OpenMP/CMakeLists.txt |
Commit
446b90135f0f88be4b8dddaf6a92842f94e7a43f
by thomasraoux[mlir] Fix case in MLIRGPUtoVulkanTransforms
This changes the casing of MLIRGPUtoVulkanTransforms to be consistent with other transform libraries.
Differential Revision: https://reviews.llvm.org/D82840
|
 | mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt |
Commit
4b980cc9ca08a0b95b4ac6994770155a48881729
by petar.avramovic[GlobalISel][InlineAsm] Add support for matching input constraints
Find def operand that corresponds to matching constraint and tie input to that operand.
Differential Revision: https://reviews.llvm.org/D82651
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll |
 | llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm.ll |
Commit
d7173826331eb2c263ecee607e86cebcf1c08ad7
by petar.avramovicAMDGPU/GlobalISel: Select icmp intrinsic
Select into corresponding V_CMP instruction based on CmpInst predicate, stored as immediate, in last operand.
Differential Revision: https://reviews.llvm.org/D82652
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.icmp.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h |
Commit
657c4ab39dc80f569f422d40347b97586c27b2ba
by grimar[yaml2obj] - Add a way to set default values for macros used in a YAML.
Currently we have to override all macros that are declared. But in many cases it is convenient to use default values and to override only a particular one or two.
This provides a way to set a default value for any macro:
``` Symbols: - Name: [[FOO=foo]] ```
Differential revision: https://reviews.llvm.org/D82455
|
 | llvm/tools/yaml2obj/yaml2obj.cpp |
 | llvm/test/tools/yaml2obj/macro.yaml |
Commit
64bae035ef8c1ca438c412310ef4f3906dd56b77
by grimar[yaml2obj] - Support reading a content as an array of bytes using the new 'ContentArray' key.
It implements the way to describe a section content using a multi line description. E.g:
``` - Name: .foo Type: SHT_PROGBITS ContentArray: [ 0x11, 0x22, 0x33, 0x44, ## .long 11223344 0x55, 0x66, ## .short 5566. 0x77, ## .byte 0x77 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 0x00 ] ## .quad 0x8899aabbccddeeff ```
It was briefly discussed in D75123 thread previously.
Differential revision: https://reviews.llvm.org/D82366
|
 | llvm/lib/ObjectYAML/ELFYAML.cpp |
 | llvm/include/llvm/ObjectYAML/ELFYAML.h |
 | llvm/test/tools/yaml2obj/ELF/content-array.yaml |
Commit
aa93d84db93451488fc9c645fb970b8f7e481292
by sstipanovic[IR] NoFree IntrinsicProperty.
Summary: Separate introduction of IntrNoFree property as suggested in D70365
Reviewers: arsenm, nhaehnle
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82587
|
 | llvm/utils/TableGen/CodeGenIntrinsics.h |
 | llvm/include/llvm/IR/Intrinsics.td |
 | llvm/utils/TableGen/CodeGenTarget.cpp |
 | llvm/utils/TableGen/IntrinsicEmitter.cpp |
Commit
621f84567920bf5a8d79789f01a622115ec8252d
by Raphael Isemann[lldb] Modernize TestOperatorOverload.py asserts
|
 | lldb/test/API/lang/cpp/operator-overload/TestOperatorOverload.py |
Commit
2c5ff48e61b5611dee5696c103e654c98d7e43f1
by gchatelet[Alignment][NFC] Migrate AtomicExpandPass to Align
This is a followup on D78403. I'm unsure about `getAtomicOpAlign` overloads that take `AtomicRMWInst` and `AtomicCmpXchgInst`, shouldn't `getAlign` provide the correct answer already?
Differential Revision: https://reviews.llvm.org/D81369
|
 | llvm/lib/IR/Instructions.cpp |
 | llvm/include/llvm/IR/Instructions.h |
 | llvm/lib/CodeGen/AtomicExpandPass.cpp |
Commit
d28267f9810ce8642b27279b91a3a195ba932ce2
by hokein.wu[AST][RecoveryExpr] Add error-bit to NestNameSpecifierDependence and TemplateNameDependence.
Summary: We might lose the error-bit if the error-bit goes through the code path "error type/expr" -> "error template argument" -> "nested name specifier" -> ... -> "template Specialization type"
Template name also needs this, as a template can be nested into an error specifier, e.g. templateName apply in `TC<decltype(<recovery-expr>(Foo, int()))>::template apply`
Reviewers: sammccall
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82526
|
 | clang/include/clang/AST/DependenceFlags.h |
 | clang/test/Sema/invalid-bitwidth-expr.mm |
Commit
6f5da84f7bb31c7c2fcb78e64d5dc3baea1c60f2
by herhut[mlir] Extended BufferPlacement to support nested region control flow.
Summary: The current BufferPlacement implementation does not support nested region control flow. This CL adds support for nested regions via the RegionBranchOpInterface and the detection of branch-like (ReturnLike) terminators inside nested regions.
Differential Revision: https://reviews.llvm.org/D81926
|
 | mlir/test/Transforms/buffer-placement.mlir |
 | mlir/lib/Transforms/BufferPlacement.cpp |
 | mlir/test/lib/Dialect/Test/TestDialect.cpp |
 | mlir/test/lib/Dialect/Test/TestOps.td |
Commit
84ced55d9b7bade7c9db39f3bcebc6af333dc325
by 1585086582[clangd] Remove redundant `findRefs` calls. NFC.
Summary: Remove redundant `findRefs` calls.
Reviewers: sammccall, kadircet
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82714
|
 | clang-tools-extra/clangd/XRefs.cpp |
Commit
815a8100e02966043a41ae6b366f23feb470e736
by benicsbalazs[llvm][Z3][NFC] Improve mkBitvector performance
We convert `APSInt`s to Z3 Bitvectors in an inefficient way for most cases. We should not serialize to std::string just to pass an int64 integer.
For the vast majority of cases, we use at most 64-bit width integers (at least in the Clang Static Analyzer). We should simply call the `Z3_mk_unsigned_int64` and `Z3_mk_int64` instead of the `Z3_mk_numeral` as stated in the Z3 docs. Which says: > It (`Z3_mk_unsigned_int64`, etc.) is slightly faster than `Z3_mk_numeral` since > it is not necessary to parse a string.
If the `APSInt` is wider than 64 bits, we will use the `Z3_mk_numeral` with a `SmallString` instead of a heap-allocated `std::string`.
Differential Revision: https://reviews.llvm.org/D78453
|
 | llvm/lib/Support/Z3Solver.cpp |
Commit
6764869548a23d03b10b0a9af7aeac534959af29
by iii[SystemZ] Add NoMerge MIFlag
Summary: This fixes ASan and MSan tests on SystemZ after commit 6a822e20ce70 ("[ASan][MSan] Remove EmptyAsm and set the CallInst to nomerge to avoid from merging.").
Based on commit 80e107ccd088 ("Add NoMerge MIFlag to avoid MIR branch folding").
Reviewers: uweigand, jonpa
Reviewed By: uweigand
Subscribers: hiraditya, llvm-commits, Andreas-Krebbel
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82794
|
 | llvm/lib/Target/SystemZ/SystemZISelLowering.cpp |
 | llvm/test/CodeGen/SystemZ/nomerge.ll |
Commit
502773d743417a7896e184b4000bcf20fddb7ad9
by Raphael Isemann[lldb][NFC] Remove ImportInProgress lock in ClangASTSource
Summary:
The ClangASTSource has a lock that globally disables all lookups into the external AST source when we explicitly "guarded" copy a type. It's not used for anything else, so importing declarations or importing types that are dependencies of a declaration actually won't activate that lock. The lookups it is supposed to prevent also don't actually happen in our test suite. The check in `ClangExpressionDeclMap::FindExternalVisibleDecls` is never executed and the check in the `ClangASTSource::FindExternalVisibleDeclsByName` is only ever reached by the `Import-std-module` tests (which explicitly do a lookup into the expression context on purpose).
This lock was added in 6abfabff6158076eccdf6fcac5a12894039de2c9 as a replacement for a list of types we already looked up which appeared to be an optimisation strategy. I assume back then this lock had a purpose but these days the ASTImporter and LLDB seem to be smart enough to avoid whatever lookups this tried to prevent.
I would say we remove it from LLDB. The main reason is that it blocks D81561 (which explicitly does a specific lookup to resolve placeholder types produced by `-flimit-debug-info`) but it's semantics are also very confusing. The naming implies it's a flag to indicate when we import something at the moment which is practically never true as described above. Also the fact that it makes our ExternalASTSource alternate between doing lookups into the debug info and pretending it doesn't know any external decls could really break our lookup in some weird way if Clang decides to cache a fake empty lookup result that was generated while the lock was active.
Reviewers: labath, shafik, JDevlieghere, aprantl
Reviewed By: labath, JDevlieghere, aprantl
Subscribers: aprantl, abidh
Differential Revision: https://reviews.llvm.org/D81749
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp |
Commit
80eb42281feb7834054be5f933f63d8c64af229d
by Raphael Isemann[lldb] Tab completion for `frame select`
Summary: Provided the tab completion for command `frame select`.
Reviewers: teemperor, JDevlieghere
Reviewed By: teemperor
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D81177
|
 | lldb/test/API/functionalities/completion/TestCompletion.py |
 | lldb/source/Commands/CommandObjectFrame.cpp |