Commit
8131cb6e18931e4cb642a1dfaa7c219c38656442
by pavel[lldb/DWARF] Add support for location lists in package files
The only thing needed was to account for the offset from the debug_cu_index section when searching for the location list.
This patch also fixes a bug in the Module::ParseAllDebugSymbols function, which meant that we would only parse the variables of the first compile unit in the module. This function is only used from lldb-test, so this does not fix any real issue, besides preventing me from writing a test for this patch.
|
 | lldb/test/Shell/SymbolFile/DWARF/dwp.s |
 | lldb/source/Core/Module.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h |
Commit
79c7d34dccda441c1bcb7518613deb3202e9df87
by Milos.StojanovicRecommit: "[llvm-exegesis] Improve error reporting in Assembler.cpp"
Summary: Commit 63bb9fee525f8f29fd9c2174fa7f15573c3d1fd7 was reverted in 7603bfb4b0a6a90137d47f0182a490fe54bf7ca3 because it broke builds that treat warnings as errors. This commit updates the calls to `assembleToStream()` in tests to check that the return value is valid.
Original commit message:
Followup to D74084. Replace the use of `report_fatal_error()` with returning the error to `llvm-exegesis.cpp` and handling it there.
Differential Revision: https://reviews.llvm.org/D74325
|
 | llvm/tools/llvm-exegesis/lib/Assembler.h |
 | llvm/unittests/tools/llvm-exegesis/Common/AssemblerUtils.h |
 | llvm/tools/llvm-exegesis/lib/Assembler.cpp |
 | llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp |
Commit
3d7b591dca83595ebcca04f94260f1f4901b8956
by Raphael Isemann[lldb][NFC] Pointer to reference conversion for CompilerDeclContext params in ClangExpressionDeclMap.
Follow up for f9568a95493aea3ea813bd37cb8c084ec4294e38.
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h |
Commit
284279ac23a944bf98911c13db2e745eb42e124b
by pifon[MLIR] Add naive fusion of parallel loops.
|
 | mlir/lib/Dialect/LoopOps/CMakeLists.txt |
 | mlir/tools/mlir-opt/CMakeLists.txt |
 | mlir/include/mlir/Dialect/LoopOps/Passes.h |
 | mlir/test/Dialect/Loops/parallel-loop-fusion.mlir |
 | mlir/lib/Dialect/LoopOps/Transforms/CMakeLists.txt |
 | mlir/include/mlir/Dialect/LoopOps/LoopOps.td |
 | mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopFusion.cpp |
 | mlir/include/mlir/InitAllPasses.h |
Commit
81e8b60b722e5494cb92b6b4ec03d4631028eece
by sven.vanhaastregt[OpenCL] Only declare _sat conversions for integer types
The `-fdeclare-opencl-builtins` option was accepting saturated conversions for non-integer types, which contradicts both the OpenCL specification (v2.0 s6.2.3) and Clang's opencl-c.h file.
|
 | clang/lib/Sema/OpenCLBuiltins.td |
 | clang/test/SemaOpenCL/fdeclare-opencl-builtins.cl |
Commit
a9122758641fc2843b38ad43368c1f5833817c39
by jay.foad[TableGen] Diagnose undefined fields when generating searchable tables
Summary: Previously TableGen would crash trying to print the undefined value as an integer.
Change-Id: I3900071ceaa07c26acafb33bc49966d7d7a02828
Reviewers: nhaehnle
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74210
|
 | llvm/test/TableGen/generic-tables.td |
 | llvm/utils/TableGen/SearchableTableEmitter.cpp |
Commit
1b2deb9ae00f6fa1e47ec7059d777fb36a1df1d1
by Raphael Isemann[lldb] Remove Windows X-fail for TestCPPAuto and TestStepTarget
TestCPPAuto was only failing on windows due to the std::string copying (which was not related at all to 'auto' functionality).
TestStepTarget is now also passing but that seems more that we now have by accident the right behavior in Windows. I'll remove the x-fail just to make the bot green again.
|
 | lldb/test/API/lang/cpp/auto/TestCPPAuto.py |
 | lldb/test/API/lang/c/step-target/TestStepTarget.py |
Commit
53eece04bd15d9235b104e545d01184347e5f703
by Raphael Isemann[lldb][NFC] Modernize test setup code in several lang/cpp tests
All these tests can just call lldbutil.run_to_source_breakpoint instead of reimplementing it.
|
 | lldb/test/API/lang/cpp/breakpoint_in_member_func_w_non_primitive_params/TestBreakpointInMemberFuncWNonPrimitiveParams.py |
 | lldb/test/API/lang/cpp/overloaded-functions/TestOverloadedFunctions.py |
 | lldb/test/API/lang/cpp/wchar_t/TestCxxWCharT.py |
 | lldb/test/API/lang/cpp/chained-calls/TestCppChainedCalls.py |
 | lldb/test/API/lang/cpp/char8_t/TestCxxChar8_t.py |
 | lldb/test/API/lang/cpp/stl/TestStdCXXDisassembly.py |
 | lldb/test/API/lang/cpp/wchar_t/main.cpp |
 | lldb/test/API/lang/cpp/call-function/TestCallCPPFunction.py |
 | lldb/test/API/lang/cpp/bool/TestCPPBool.py |
 | lldb/test/API/lang/cpp/stl/TestSTL.py |
 | lldb/test/API/lang/cpp/char8_t/main.cpp |
 | lldb/test/API/lang/cpp/unique-types/TestUniqueTypes.py |
 | lldb/test/API/lang/cpp/auto/TestCPPAuto.py |
 | lldb/test/API/lang/cpp/static_methods/TestCPPStaticMethods.py |
 | lldb/test/API/lang/cpp/unicode-literals/TestUnicodeLiterals.py |
 | lldb/test/API/lang/cpp/unsigned_types/TestUnsignedTypes.py |
Commit
39cecabece8c705187b50612ae5db8748f07b5be
by pierre.vanhoutryve[AArch64][ASMParser] Refuse equal source/destination for LDRAA/LDRAB
Differential Revision: https://reviews.llvm.org/D74822
|
 | llvm/test/MC/AArch64/armv8.3a-signed-pointer.s |
 | llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp |
 | llvm/test/MC/AArch64/armv8.3a-diagnostics.s |
Commit
ff4639f06016bb21ccd00bfd0f6c7cd8d12292e6
by Matthew.ArsenaultAMDGPU/GlobalISel: Select MUBUF path for global atomic cmpxchg
I'm not sure why this isn't a pattern, but the DAG manually selects this.
|
 | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h |
 | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgpu-atomic-cmpxchg-global.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll |
Commit
e01a3d49c224d6f8a7afc01205b05b9deaa07afa
by flo[PatternMatch] Match XOR variant of unsigned-add overflow check.
Instcombine folds (a + b <u a) to (a ^ -1 <u b) and that does not match the expected pattern in CodeGenPerpare via UAddWithOverflow.
This causes a regression over Clang 7 on both X86 and AArch64: https://gcc.godbolt.org/z/juhXYV
This patch extends UAddWithOverflow to also catch the XOR case, if the XOR is only used in the ICMP. This covers just a single case, but I'd like to make sure I am not missing anything before tackling the other cases.
Reviewers: nikic, RKSimon, lebedev.ri, spatel
Reviewed By: nikic, lebedev.ri
Differential Revision: https://reviews.llvm.org/D74228
|
 | llvm/test/Transforms/CodeGenPrepare/AArch64/overflow-intrinsics.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp |
 | llvm/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll |
 | llvm/include/llvm/IR/PatternMatch.h |
 | llvm/lib/CodeGen/CodeGenPrepare.cpp |
Commit
a6a585b8030b6e8d4c50c71f54a6addb21995fe0
by flo[CGP] Adjust CodeGen tests after e01a3d49c22
|
 | llvm/test/CodeGen/AArch64/sat-add.ll |
 | llvm/test/CodeGen/X86/sat-add.ll |
Commit
bc23e83e45ebefa523c660aa500c6161d9be57ee
by kparzyszAdd <128 x i1> as an intrinsic type
|
 | llvm/lib/IR/Function.cpp |
 | llvm/utils/TableGen/IntrinsicEmitter.cpp |
 | llvm/include/llvm/IR/Intrinsics.td |
Commit
440ca29ea266a816c4a00216aff356ece0d14cc9
by stefanp[Hexagon][NFC] Rename VK_Hexagon_PCREL to VK_PCREL
On PowerPC we will soon need to use pcrel to indicate PC Relative addressing. Renamed the Hexagon specific variant kind to a non target specific VK so that it can be used on both Hexagon and PowerPC.
Differential Revision: https://reviews.llvm.org/D74788
|
 | llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp |
 | llvm/include/llvm/MC/MCExpr.h |
 | llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp |
 | llvm/lib/MC/MCExpr.cpp |
 | llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp |
Commit
b329d1b06eb2f7781be414002d49eca79b85b726
by jay.foad[AMDGPU][ConstantFolding] Fold llvm.amdgcn.fmul.legacy intrinsic
Reviewers: arsenm, rampitec, nhaehnle
Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74835
|
 | llvm/test/Analysis/ConstantFolding/AMDGPU/lit.local.cfg |
 | llvm/lib/Analysis/ConstantFolding.cpp |
 | llvm/test/Analysis/ConstantFolding/AMDGPU/fmul_legacy.ll |
Commit
bde0e320bcf0902aa334fe67d7cc8f63e8d3c38f
by thakis[gn build] revert e8e078c8bf7987
Now that I've updated ancient goma clients on the bots, this should work. (Internal goma bug: b/139410332, fixed months ago.)
|
 | llvm/utils/gn/build/BUILD.gn |
Commit
393173499099649eb95816132889295c3b463faf
by mcinally[AArch64][SVE] Add initial backend support for FP splat_vector
Differential Revision: https://reviews.llvm.org/D74632
|
 | llvm/test/CodeGen/AArch64/sve-vector-splat.ll |
 | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |
 | llvm/lib/Target/AArch64/AArch64InstrFormats.td |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
Commit
461fd94f004c78374fc7b0338d018f9610f2e5f5
by mikhail.maltsev[ARM,MVE] Fix predicate types of some intrinsics
Summary: Some predicated MVE intrinsics return a vector with element size different from the input vector element size. In this case the predicate must type correspond to the output vector type.
The following intrinsics use the incorrect predicate type: * llvm.arm.mve.mull.int.predicated * llvm.arm.mve.mull.poly.predicated * llvm.arm.mve.vshll.imm.predicated
This patch fixes the issue.
Reviewers: simon_tatham, dmgreen, ostannard, MarkMurrayARM
Reviewed By: MarkMurrayARM
Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D74838
|
 | clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm.c |
 | llvm/test/CodeGen/Thumb2/mve-intrinsics/vmulltq.ll |
 | clang/include/clang/Basic/arm_mve_defs.td |
 | llvm/test/CodeGen/Thumb2/mve-intrinsics/vector-shift-imm.ll |
 | clang/test/CodeGen/arm-mve-intrinsics/vmullbq.c |
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | llvm/test/CodeGen/Thumb2/mve-intrinsics/vmullbq.ll |
 | clang/test/CodeGen/arm-mve-intrinsics/vmulltq.c |
 | clang/include/clang/Basic/arm_mve.td |
Commit
d97d409277278704b68382884b43fcc91f2b9962
by zinenko[mlir] NFC: use ValueRange for BlockArgument in ConvertStandardToLLVM
When the conversion was implemented, ValueRange did not support BlockArguments the code materialized a vector. This is no longer necessary.
|
 | mlir/lib/Conversion/StandardToLLVM/ConvertStandardToLLVM.cpp |
Commit
9b91bcf6c6187afb488ef6e12b8ef245b6635fd2
by dvyukovtsan: removing redundant loop in ThreadClock::release()
The removed loop clears reused for entries at the tail of a SyncClock. The loop is redundant since those entries were already cleared by the immediately preceding loop, which iterates over all entries in the SyncClock (including the tail entries).
|
 | compiler-rt/lib/tsan/rtl/tsan_clock.cpp |
Commit
bb61021a8fcc21676af65e4cbbf4d495831fad52
by Raphael Isemann[lldb][NFC] Remove giant do{...}while(false); in ClangASTSource::FindExternalVisibleDecls
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp |
Commit
896ee361a641bf9529bb9103a3a018b1c28dc21d
by antiagainst[mlir][spirv] Add mlir-vulkan-runner
Add an initial version of mlir-vulkan-runner execution driver. A command line utility that executes a MLIR file on the Vulkan by translating MLIR GPU module to SPIR-V and host part to LLVM IR before JIT-compiling and executing the latter.
Differential Revision: https://reviews.llvm.org/D72696
|
 | mlir/test/mlir-vulkan-runner/addf.mlir |
 | mlir/tools/CMakeLists.txt |
 | mlir/CMakeLists.txt |
 | mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp |
 | mlir/test/CMakeLists.txt |
 | mlir/test/mlir-vulkan-runner/lit.local.cfg |
 | mlir/test/lit.site.cfg.py.in |
 | mlir/test/lit.cfg.py |
 | mlir/tools/mlir-vulkan-runner/CMakeLists.txt |
 | mlir/tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp |
 | mlir/tools/mlir-vulkan-runner/VulkanRuntime.cpp |
 | mlir/tools/mlir-vulkan-runner/VulkanRuntime.h |
 | mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp |
Commit
7a554270c030ed8b7074ebd9a339a633b8f45059
by llvm-dev[SystemZ] Regenerate risbg tests. NFCI.
Pre-commit for some upcoming SimplifyDemandedBits bitrotate handling.
|
 | llvm/test/CodeGen/SystemZ/risbg-03.ll |
 | llvm/test/CodeGen/SystemZ/risbg-01.ll |
 | llvm/test/CodeGen/SystemZ/risbg-04.ll |
 | llvm/test/CodeGen/SystemZ/risbg-02.ll |
Commit
f12fb2d99b8dd0dbef1c79f1d401200150f2d0bd
by nikita.ppv[IRBuilder] Always respect inserter/folder
Some IRBuilder methods that were originally defined on IRBuilderBase do not respect custom IRBuilder inserters/folders, because those were not accessible prior to D73835. Fix this by making use of existing (and now accessible) IRBuilder methods, which will handle inserters/folders correctly.
There are some changes in OpenMP tests, where bitcasts now get constant folded. I've also highlighted one InstCombine test which now finishes in two rather than three iterations, thanks to new instructions being inserted into the worklist.
Differential Revision: https://reviews.llvm.org/D74787
|
 | llvm/test/Transforms/InstCombine/saturating-add-sub.ll |
 | clang/test/OpenMP/target_firstprivate_codegen.cpp |
 | llvm/lib/IR/IRBuilder.cpp |
 | clang/test/OpenMP/parallel_codegen.cpp |
Commit
f50fe5eb6d2ec0adb5b2fd91a4023fc1573e061f
by davg[Sema][CodeComplete] Handle symlinks for include code completion
Summary: Previously any symlinks would be ignored since the directory traversal doesn't follow them.
With this change we now follow symlinks (via a `stat` call in order to figure out the target type of the symlink if it is valid).
Reviewers: sammccall
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D74790
|
 | clang/test/CodeCompletion/included-symlinks.cpp |
 | clang/lib/Sema/SemaCodeComplete.cpp |
Commit
6b5ce0de7e57cbb37c7a03e216c779ed4073ad2e
by nikita.ppv[InstCombine] Fix removal from deferred instructions
Make sure we don't skip the Deferred.remove() call if the instruction is not in the worklist. Both of those are separate.
We don't have any cases where deferred instructions get removed right now, but may cause problems in the future.
|
 | llvm/include/llvm/Transforms/InstCombine/InstCombineWorklist.h |
Commit
476ca094c846a0b6d4d9f37710aba21a6b0b265a
by antiagainst[mlir][ods] Adding attribute setters generation
In some dialects, attributes may have default values that may be determined only after shape inference. For example, attributes that are dependent on the rank of the input cannot be assigned a default value until the rank of the tensor is inferred.
While we can set attributes without explicit setters, referring to the attributes via accessors instead of having to use the string interface is better for compile time verification.
The proposed patch add one method per operation attribute that let us set its value. The code is a very small modification of the existing getter methods.
Differential Revision: https://reviews.llvm.org/D74143
|
 | mlir/test/mlir-tblgen/op-attribute.td |
 | mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp |
Commit
b92b1701cd30d356fa3ac4da3d0dba20fa614e0b
by nikita.ppvRevert "[IRBuilder] Always respect inserter/folder"
This reverts commit f12fb2d99b8dd0dbef1c79f1d401200150f2d0bd.
I missed some changes in instrumentation test cases.
|
 | llvm/test/Transforms/InstCombine/saturating-add-sub.ll |
 | clang/test/OpenMP/parallel_codegen.cpp |
 | llvm/lib/IR/IRBuilder.cpp |
 | clang/test/OpenMP/target_firstprivate_codegen.cpp |
Commit
3f7d0e7e319486fa9ca29896eb35bb2bd60733d2
by rupprecht[NFC][compiler-rt][test] Fully qualify string -> std::string
|
 | compiler-rt/lib/asan/tests/asan_test.cpp |
 | compiler-rt/lib/asan/tests/asan_str_test.cpp |
 | compiler-rt/lib/asan/tests/asan_test_utils.h |
Commit
a829443cc7359ecf0f2de8f82519f511795675ec
by eric[libc++] Fix ABI break in __bit_reference.
The libc++ __bit_iterator type has weird ABI calling conventions as a quirk of the implementation. The const bit iterator is trivial, but the non-const bit iterator is not because it declares a user-defined copy constructor.
Changing this now is an ABI break, so this test ensures that each type is trivial/non-trivial as expected.
The definition of 'non-trivial for the purposes of calls': A type is considered non-trivial for the purposes of calls if: * it has a non-trivial copy constructor, move constructor, or destructor, or * all of its copy and move constructors are deleted.
|
 | libcxx/include/__bit_reference |
 | libcxx/test/libcxx/containers/sequences/vector.bool/trivial_for_purposes_of_call.pass.cpp |
Commit
ada205e91eb0ed85d225fb2ce5b0f881a1909230
by Stanislav.Mekhanoshin[AMDGPU] Fix assumption about LaneBitmask content
Yet another assumption about an actual LaneBitmask content is fixed.
Differential Revision: https://reviews.llvm.org/D74805
|
 | llvm/lib/Target/AMDGPU/GCNRegPressure.cpp |
Commit
a54d81f597963b8768ce2b94a8ef570f9eaaac25
by zurab.tsinadze[analyzer] CERT: POS34-C
Summary: This patch introduces a new checker: `alpha.security.cert.pos.34c`
This checker is implemented based on the following rule: https://wiki.sei.cmu.edu/confluence/x/6NYxBQ The check warns if `putenv` function is called with automatic storage variable as an argument.
Differential Revision: https://reviews.llvm.org/D71433
|
 | clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt |
 | clang/docs/analyzer/checkers.rst |
 | clang/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h |
 | clang/include/clang/StaticAnalyzer/Checkers/Checkers.td |
 | clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp |
 | clang/lib/StaticAnalyzer/Core/CommonBugCategories.cpp |
 | clang/test/Analysis/cert/pos34-c-fp-suppression.cpp |
 | clang/test/Analysis/cert/pos34-c.cpp |
Commit
f559cecc3e040bcd9f9f42fa92f262a6b4cc877b
by craig.topper[X86] Add DCI.isBeforeLegalize() check to the v64i1 constant splitting code in combineStore.
We only need to split after type legalization. If we're before we can just use a wide store and type legalization will split it.
Add a v128i1 test to exercise it post type legalization.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/avx512-mask-op.ll |
Commit
f14f9bd22ea024049ce4be65f4132306bfd5c12b
by thakis[gn build] Set up include_dirs for a54d81f597 (first checker in a subdir)
|
 | llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn |
Commit
e84aa5922b1cc8e40f60a560c3803122d820c53d
by silvaseanFix Block::eraseArgument when block arg is also a successor operand.
Summary: This could trigger an assertion due to the block argument being used by this block's own successor operands.
Reviewers: rriddle!
Subscribers: mehdi_amini, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74583
|
 | mlir/lib/IR/Block.cpp |
Commit
069b85fed110988a178a40abbed0dae49dc2d29b
by llvmgnsyncbot[gn build] Port a54d81f5979
|
 | llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn |
Commit
187204cd746f537405d11ee27d60d8ab59c9192d
by thakis[gn build] use \bfoo\b instead of \<foo\> in sync script
\<foo\> is more correct, but since we use shell=True on Windows, the < and > get interpreted as redirection operators.
Rather than adding cmd escaping, just use \bfoo\b, which is Good Enough Often Enough.
|
 | llvm/utils/gn/build/sync_source_lists_from_cmake.py |
Commit
0eddeeab29a1cce8f9169b270c9fdd484534d91b
by paulsson[ValueTracking] Improve isKnownNonNaN() to recognize zero splats.
isKnownNonNaN() could not recognize a zero splat because that is a ConstantAggregateZero which is-a ConstantData but not a ConstantDataVector.
Patch makes a ConstantAggregateZero return true.
Review: Thomas Lively
Differential Revision: https://reviews.llvm.org/D74263
|
 | llvm/lib/Analysis/ValueTracking.cpp |
 | llvm/test/CodeGen/SystemZ/vec-max-min-zerosplat.ll |
Commit
170ae68fef05941120bff138d1f2b93cd0564454
by tyker[AssumeBundle] Add documentation for the operand bundles of an llvm.assume
Summary: Operand bundles on an llvm.assume allows representing assumptions that an attribute holds for a certain value at a certain position. Operand bundles enable assumptions that are either hard or impossible to represent as a boolean argument of an llvm.assume.
Reviewers: jdoerfert, fhahn, nlopes, reames, regehr, efriedma
Reviewed By: jdoerfert
Subscribers: lebedev.ri, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74209
|
 | llvm/docs/LangRef.rst |
Commit
df590f51b62d57c19f8cae8e87c1641dc0382f55
by Jonas Devlieghere[lldb/Core] Remove locking in the PluginManager
Remove locking as all the plugin registration takes place from a single thread. Addresses Pavel's feedback in D74816.
|
 | lldb/source/Core/PluginManager.cpp |
Commit
6b6c96695c0054ebad6816171ef89d5cb76a058b
by riddleriver[mlir][ODS] Add a new trait `TypesMatchWith`
Summary: This trait takes three arguments: lhs, rhs, transformer. It verifies that the type of 'rhs' matches the type of 'lhs' when the given 'transformer' is applied to 'lhs'. This allows for adding constraints like: "the type of 'a' must match the element type of 'b'". A followup revision will add support in the declarative parser for using these equality constraints to port more c++ parsers to the declarative form.
Differential Revision: https://reviews.llvm.org/D74647
|
 | mlir/include/mlir/IR/OperationSupport.h |
 | mlir/include/mlir/Support/STLExtras.h |
 | mlir/test/IR/invalid-ops.mlir |
 | mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp |
 | mlir/include/mlir/Dialect/StandardOps/Ops.td |
 | mlir/test/Dialect/VectorOps/invalid.mlir |
 | mlir/include/mlir/Dialect/VectorOps/VectorOps.td |
 | mlir/lib/Dialect/StandardOps/Ops.cpp |
 | mlir/include/mlir/IR/OpBase.td |
Commit
4a7364f1c2ef0c45d7e603799fe0b7662d4c4078
by riddleriver[mlir][Parser] Use APFloat instead of FloatAttr when parsing DenseElementsAttrs.
Summary: DenseElementsAttr stores float values as raw bits internally, so creating attributes just to have them unwrapped is extremely inefficient.
Differential Revision: https://reviews.llvm.org/D74818
|
 | mlir/lib/Parser/Parser.cpp |
Commit
c7fc0e5da6c3c36eb5f3a874a6cdeaedb26856e0
by floRevert "[PatternMatch] Match XOR variant of unsigned-add overflow check."
This reverts commit e01a3d49c224d6f8a7afc01205b05b9deaa07afa. and commit a6a585b8030b6e8d4c50c71f54a6addb21995fe0.
This causes a failure on GreenDragon: http://lab.llvm.org:8080/green/view/LLDB/job/lldb-cmake/9597
|
 | llvm/include/llvm/IR/PatternMatch.h |
 | llvm/test/CodeGen/X86/sat-add.ll |
 | llvm/lib/CodeGen/CodeGenPrepare.cpp |
 | llvm/test/CodeGen/AArch64/sat-add.ll |
 | llvm/test/Transforms/CodeGenPrepare/AArch64/overflow-intrinsics.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp |
 | llvm/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll |
Commit
fd0e8b4c0ca78880bed974a5a14b7cd16a89d91c
by riddleriver[mlir][NFC] Fix warning for mismatched sign comparison.
|
 | mlir/include/mlir/IR/OperationSupport.h |
Commit
0a2626d0cdc2942799026c616fcac974e0a1e204
by bmahjour[DDG] Data Dependence Graph - Graph Simplification
Summary: This is the last functional patch affecting the representation of DDG. Here we try to simplify the DDG to reduce the number of nodes and edges by iteratively merging pairs of nodes that satisfy the following conditions, until no such pair can be identified. A pair of nodes consisting of a and b can be merged if:
1. the only edge from a is a def-use edge to b and 2. the only edge to b is a def-use edge from a and 3. there is no cyclic edge from b to a and 4. all instructions in a and b belong to the same basic block and 5. both a and b are simple (single or multi instruction) nodes.
These criteria allow us to fold many uninteresting def-use edges that commonly exist in the graph while avoiding the risk of introducing dependencies that didn't exist before.
Authored By: bmahjour
Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton, jdoerfert
Reviewed By: Meinersbur
Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya, jfb, wuzish, llvm-commits, jsji, Whitney, etiotto, ppc-slack
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72350
|
 | llvm/include/llvm/Analysis/DependenceGraphBuilder.h |
 | llvm/test/Analysis/DDG/basic-loopnest.ll |
 | llvm/include/llvm/Analysis/DDG.h |
 | llvm/lib/Analysis/DDG.cpp |
 | llvm/test/Analysis/DDG/basic-b.ll |
 | llvm/lib/Analysis/DependenceGraphBuilder.cpp |
 | llvm/test/Analysis/DDG/basic-a.ll |
Commit
376c68539c5a4b8baf7dc8f34ffa71daadada28f
by diego.caballero[mlir][NFC] Fix 'gatherLoops' utility
It replaces DenseMap output with a SmallVector and it removes empty loop levels from the output.
Reviewed By: andydavis1, mehdi_amini
Differential Revision: https://reviews.llvm.org/D74658
|
 | mlir/test/lib/Transforms/TestLoopFusion.cpp |
 | mlir/test/lib/Transforms/TestAffineDataCopy.cpp |
 | mlir/include/mlir/Transforms/LoopUtils.h |
 | mlir/lib/Transforms/Utils/LoopUtils.cpp |
Commit
84f80b1faaeb385a178f4b517d92d29ca6a6d854
by Louis Dionne[CMake] Only detect the linker once in AddLLVM.cmake
Summary: Otherwise, the build output contains a bunch of "Linker detection: <xxx>" lines that are really redundant. We also make redundant calls to the linker, although that is a smaller concern.
Reviewers: smeenai
Subscribers: mgorny, fedor.sergeev, jkorous, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68648
|
 | llvm/cmake/modules/AddLLVM.cmake |
Commit
59982a6d8f9d0ba34a47798fe155121767e66411
by llvm-dev[UpdateTestChecks] Add support for '.' in ir function names
Will let us regenerate from amdgpu float constant tests
|
 | llvm/utils/UpdateTestChecks/common.py |
Commit
025ff5a4eaf7dd01810e0dd0deb38a204a32a357
by llvm-dev[AMDGPU] Regenerate immediate constant tests
|
 | llvm/test/CodeGen/AMDGPU/imm.ll |
 | llvm/test/CodeGen/AMDGPU/imm16.ll |
Commit
076475713c236081a3247a53e9dbab9043c3eac2
by mmoroz[libFuzzer] Fix denominator in the "inputs have DFT" log line.
Summary: The number of "inputs have the Data Flow Trace" cannot be greater than the number of inputs touching the focus function. The existing message is rather confusing as the same log would mention a greater total number of traces a few lines above.
Reviewers: kcc, metzman
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D74779
|
 | compiler-rt/lib/fuzzer/FuzzerLoop.cpp |
 | compiler-rt/test/fuzzer/dataflow.test |
Commit
129c911efaa492790c251b3eb18e4db36b55cbc5
by isanbardInclude static prof data when collecting loop BBs
Summary: If the programmer adds static profile data to a branch---i.e. uses "__builtin_expect()" or similar---then we should honor it. Otherwise, "__builtin_expect()" is ignored in crucial situations. So we trust that the programmer knows what they're doing until proven wrong.
Subscribers: hiraditya, JDevlieghere, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74809
|
 | llvm/include/llvm/CodeGen/MachineLoopInfo.h |
 | llvm/test/CodeGen/X86/block-placement.ll |
 | llvm/test/CodeGen/X86/move_latch_to_loop_top.ll |
 | llvm/test/CodeGen/Hexagon/prof-early-if.ll |
 | llvm/lib/CodeGen/MachineBlockPlacement.cpp |
 | llvm/test/CodeGen/X86/ragreedy-bug.ll |
 | llvm/lib/CodeGen/MachineLoopInfo.cpp |
 | llvm/test/CodeGen/X86/block-placement-2.ll |
Commit
0ba9ee9f0e55b1f9155a5bb5739550860fa5fec2
by ajcbik[mlir] [VectorOps] Framework for progressive lowering of vector.contract
Summary: Lowers all free/batch dimensions in a vector.contract progressively into simpler vector.contract operations until a direct vector.reduction operation is reached. Then lowers 1-D reductions into vector.reduce.
Still TBD: multi-dimensional contractions that remain after removing all the parallel dims
Reviewers: nicolasvasilache, andydavis1, rriddle
Reviewed By: andydavis1
Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74797
|
 | mlir/lib/Dialect/VectorOps/VectorTransforms.cpp |
 | mlir/test/Dialect/VectorOps/vector-contract-transforms.mlir |
Commit
f6875c434ec20eb4f24495317592f64334347784
by nikita.ppvReapply [IRBuilder] Always respect inserter/folder
Some IRBuilder methods that were originally defined on IRBuilderBase do not respect custom IRBuilder inserters/folders, because those were not accessible prior to D73835. Fix this by making use of existing (and now accessible) IRBuilder methods, which will handle inserters/folders correctly.
There are some changes in OpenMP and Instrumentation tests, where bitcasts now get constant folded. I've also highlighted one InstCombine test which now finishes in two rather than three iterations, thanks to new instructions being inserted into the worklist.
Differential Revision: https://reviews.llvm.org/D74787
|
 | clang/test/OpenMP/target_firstprivate_codegen.cpp |
 | llvm/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64le.ll |
 | llvm/test/Transforms/InstCombine/saturating-add-sub.ll |
 | llvm/test/Instrumentation/MemorySanitizer/byval-alignment.ll |
 | llvm/test/Instrumentation/MemorySanitizer/X86/vararg_call.ll |
 | llvm/lib/IR/IRBuilder.cpp |
 | llvm/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64.ll |
 | llvm/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64el.ll |
 | llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll |
 | clang/test/OpenMP/parallel_codegen.cpp |
 | llvm/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64.ll |
Commit
ba3f863dfb9c5f9bf5e6fdca2198b609df3b7761
by johannes[OpenMP][OMPIRBuilder] Introducing the `OMPBuilderCBHelpers` helper class
This patch introduces a new helper class `OMPBuilderCBHelpers`, which will contain all reusable C/C++ language specific function- alities required by the `OMPIRBuilder`.
Initially, this helper class contains the body and finalization codegen functionalities implemented using callbacks which were moved here for reusability among the different directives implemented in the `OMPIRBuilder`, along with RAIIs for preserving state prior to emitting outlined and/or inlined OpenMP regions.
In the future this helper class will also contain all the different call backs required by OpenMP clauses/variable privatization.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D74562
|
 | clang/lib/CodeGen/CodeGenFunction.h |
 | clang/test/OpenMP/cancel_codegen.cpp |
 | clang/lib/CodeGen/CGStmtOpenMP.cpp |
Commit
b1d47467e26142e6029e9ec7ca5c42645ffaa7bb
by kparzysz[Hexagon] Change HVX vector predicate types from v512/1024i1 to v64/128i1
This commit removes the artificial types <512 x i1> and <1024 x i1> from HVX intrinsics, and makes v512i1 and v1024i1 no longer legal on Hexagon.
It may cause existing bitcode files to become invalid.
* Converting between vector predicates and vector registers must be done explicitly via vandvrt/vandqrt instructions (their intrinsics), i.e. (for 64-byte mode): %Q = call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %V, i32 -1) %V = call <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1> %Q, i32 -1)
The conversion intrinsics are: declare <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32>, i32) declare <128 x i1> @llvm.hexagon.V6.vandvrt.128B(<32 x i32>, i32) declare <16 x i32> @llvm.hexagon.V6.vandqrt(<64 x i1>, i32) declare <32 x i32> @llvm.hexagon.V6.vandqrt.128B(<128 x i1>, i32) They are all pure.
* Vector predicate values cannot be loaded/stored directly. This directly reflects the architecture restriction. Loading and storing or vector predicates must be done indirectly via vector registers and explicit conversions via vandvrt/vandqrt instructions.
|
 | llvm/test/CodeGen/Hexagon/vec-pred-spill1.ll |
 | clang/test/CodeGen/builtins-hexagon-v66.c |
 | llvm/test/CodeGen/Hexagon/inline-asm-qv.ll |
 | llvm/test/CodeGen/Hexagon/early-if-vecpred.ll |
 | llvm/include/llvm/IR/IntrinsicsHexagonDep.td |
 | llvm/test/CodeGen/Hexagon/reg-scavenger-valid-slot.ll |
 | llvm/test/CodeGen/Hexagon/hvx-dual-output.ll |
 | llvm/test/CodeGen/Hexagon/intrinsics/byte-store.ll |
 | llvm/lib/Target/Hexagon/HexagonIntrinsics.td |
 | llvm/test/CodeGen/Hexagon/v60small.ll |
 | llvm/test/CodeGen/Hexagon/autohvx/bitwise-pred-128b.ll |
 | llvm/test/CodeGen/Hexagon/intrinsics/v65.ll |
 | llvm/test/CodeGen/Hexagon/intrinsics-v60-alu.ll |
 | llvm/test/CodeGen/Hexagon/peephole-move-phi.ll |
 | llvm/test/CodeGen/Hexagon/intrinsics-v60-misc.ll |
 | clang/include/clang/module.modulemap |
 | llvm/lib/Target/Hexagon/HexagonIntrinsicsV60.td |
 | llvm/lib/Target/Hexagon/HexagonRegisterInfo.td |
 | llvm/include/llvm/IR/IntrinsicsHexagon.td |
 | llvm/test/CodeGen/Hexagon/intrinsics-v60-vcmp.ll |
 | llvm/test/CodeGen/Hexagon/v60-vecpred-spill.ll |
 | llvm/test/CodeGen/Hexagon/vect-downscale.ll |
 | llvm/test/CodeGen/Hexagon/v60Intrins.ll |
 | clang/lib/Basic/Targets/Hexagon.h |
 | llvm/test/CodeGen/Hexagon/v6-inlasm4.ll |
 | llvm/test/CodeGen/Hexagon/v6vect-spill-kill.ll |
 | llvm/test/CodeGen/Hexagon/swp-prolog-phi.ll |
 | llvm/test/CodeGen/Hexagon/v6-unaligned-spill.ll |
 | llvm/test/CodeGen/Hexagon/intrinsics/v65-gather-double.ll |
 | llvm/test/CodeGen/Hexagon/reg-scavengebug-2.ll |
 | llvm/test/CodeGen/Hexagon/v6-spill1.ll |
 | llvm/test/CodeGen/Hexagon/hvx-byte-store.ll |
 | llvm/test/CodeGen/Hexagon/intrinsics/v65-scatter-double.ll |
 | llvm/lib/Target/Hexagon/HexagonISelLowering.cpp |
 | llvm/test/CodeGen/Hexagon/late_instr.ll |
 | llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp |
 | llvm/test/CodeGen/Hexagon/hvx-byte-store-double.ll |
 | llvm/test/CodeGen/Hexagon/v60_sort16.ll |
 | llvm/test/CodeGen/Hexagon/intrinsics/byte-store-double.ll |
 | llvm/test/CodeGen/Hexagon/split-vecpred.ll |
 | llvm/test/CodeGen/Hexagon/intrinsics/v65-scatter.ll |
 | llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp |
 | llvm/test/CodeGen/Hexagon/v62-inlasm4.ll |
 | clang/include/clang/Basic/BuiltinsHexagonMapCustomDep.def |
 | llvm/test/CodeGen/Hexagon/eliminate-pred-spill.ll |
 | llvm/test/CodeGen/Hexagon/reg-scavengebug-3.ll |
 | clang/lib/CodeGen/CGBuiltin.cpp |
 | llvm/test/CodeGen/Hexagon/swp-sigma.ll |
 | llvm/test/CodeGen/Hexagon/vecPred2Vec.ll |
 | clang/include/clang/Basic/BuiltinsHexagonDep.def |
 | clang/test/CodeGen/builtins-hexagon-v66-128B.c |
 | llvm/test/CodeGen/Hexagon/v6-vecpred-copy.ll |
 | llvm/test/CodeGen/Hexagon/inline-asm-vecpred128.ll |
 | clang/test/CodeGen/builtins-hvx64.c |
 | llvm/test/CodeGen/Hexagon/reg-scavengebug-4.ll |
 | clang/include/clang/Basic/BuiltinsHexagon.def |
 | clang/test/CodeGen/builtins-hvx128.c |
 | llvm/test/CodeGen/Hexagon/convert_const_i1_to_i8.ll |
 | llvm/test/CodeGen/Hexagon/hvx-dbl-dual-output.ll |
 | llvm/test/CodeGen/Hexagon/v6vect-pred2.ll |
 | llvm/lib/Target/Hexagon/HexagonSubtarget.h |
 | llvm/test/CodeGen/Hexagon/vector-align.ll |
 | llvm/test/CodeGen/Hexagon/vselect-pseudo.ll |
 | llvm/test/CodeGen/Hexagon/bug-aa4463-ifconv-vecpred.ll |
 | llvm/test/CodeGen/Hexagon/intrinsics/v65-gather.ll |
 | llvm/test/CodeGen/Hexagon/v6vect-dbl-spill.ll |
 | llvm/test/CodeGen/Hexagon/v60-vsel1.ll |
 | llvm/test/CodeGen/Hexagon/v60-vsel2.ll |
Commit
2ade59ec9430b23d4d42c8197b71e441a0b32773
by spatel[x86] add test for uint->fp with unsafe-fp-math (PR43609); NFC
|
 | llvm/test/CodeGen/X86/vec_int_to_fp.ll |
Commit
f5678d4a6a602bd966570b6f9fdd9aa0de5855b8
by Tony.Tye[AMDGPU] Update AMDGPUUsage with DWARF proposal
Summary: - Add AMDGPU DWARF proposal. - Add references for gfx10 ISA and SemVer.
Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, aprantl, dstuttard, tpr, jfb, dmgreen, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70523
|
 | llvm/docs/AMDGPUUsage.rst |
Commit
e4d20ec8add39209972e55a71c327fa5b4fc4400
by llvm-project[IndVarSimply] Fix assert/release build difference.
In builds with assertions enabled (!NDEBUG), IndVarSimplify does an additional query to ScalarEvolution which may change future SCEV queries since it fills the internal cache differently. The result is actually only used with the -verify-indvars command line option. We fix the issue by only calling SE->getBackedgeTakenCount(L) if -verify-indvars is enabled such that only -verify-indvars shows the behavior, but not debug builds themselves. Also add a remark to the description of -verify-indvars about this behavior.
Fixes llvm.org/PR44815
Differential Revision: https://reviews.llvm.org/D74810
|
 | llvm/test/Transforms/IndVarSimplify/deterministic-scev-verify.ll |
 | llvm/lib/Transforms/Scalar/IndVarSimplify.cpp |
Commit
788e74ce29c9b2dfd6b392b03b7b829f01d637a7
by Tony.Tye[AMDGPU] AMDGPUUsage define call convention ABI
Reviewers: scott.linder, arsenm, b-sumner
Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74861
|
 | llvm/docs/AMDGPUUsage.rst |
Commit
6ba2d7b166c2e07dfc8328a8253276710619b1fe
by Louis Dionne[libc++] Fixes backreferences for extended grammar.
The regex backreferences were not properly parsed and used when using the extended grammar. This change parses them. The issue was found while working on PR34297.
Thanks to Mark de Wever for the patch!
Differential Revision: https://reviews.llvm.org/D62451
|
 | libcxx/test/std/re/re.alg/re.alg.search/extended.pass.cpp |
 | libcxx/include/regex |
 | libcxx/test/std/re/re.alg/re.alg.match/extended.pass.cpp |
Commit
c3478eff7a65d6a77b34e756eabc7176a2b422e8
by Louis Dionne[libc++] reduce <complex> parsing time
Instead of including <ios> for ios_base::failbit, simply get failbit member of the template argument. Print directly to a stream instead of using intermediate ostringstream.
Parsing time: 874ms -> 164ms (-81%)
Thanks to Nikita Kniazev for the patch!
Differential Revision: https://reviews.llvm.org/D71214
|
 | libcxx/include/complex |
Commit
ddd2257f48a83843aa35e7cbd337c3fe0c103598
by Dan Liew[TSan] Fix incorrect expansion of `%deflake` lit substitution.
dadc214e4d9d09a8a7a9f15780c1201c18f93e05 introduced a change to `%deflake` to support a configurable threshold but the patch forgot to add a trailing space.
|
 | compiler-rt/test/tsan/lit.cfg.py |
Commit
03954a12aecbe77afb9c3ad47620305ec2675858
by Stanislav.Mekhanoshin[AMDGPU] Fix DS_WRITE_B32 patterns
It uses VGPR_32.RegTypes which includes 16 bit types. As a result DS_WRITE_B32 may be generated for "store i16" which is a bug. The only reason we do not hit it now is relative patterns complexity and sorting. Should DS_WRITE_B16 pattern complexity become higher and the bug appears.
Differential Revision: https://reviews.llvm.org/D74868
|
 | llvm/lib/Target/AMDGPU/DSInstructions.td |
Commit
d48d339156916b4dd87a8c06c1c242fd794f08e5
by i[lld][ELF] Add --shuffle-sections=seed to shuffle input sections
Summary: This option causes lld to shuffle sections by assigning different priorities in each run.
The use case for this is to introduce randomization in benchmarks. The idea is inspired by the paper "Producing Wrong Data Without Doing Anything Obviously Wrong!" (https://www.inf.usi.ch/faculty/hauswirth/publications/asplos09.pdf). Unlike the paper, we shuffle individual sections, not just input files.
Doing this in lld is particularly convenient as the --reproduce option makes it easy to collect all the necessary bits for relinking the program being benchmarked. Once that it is done, all that is needed is to add --shuffle-sections=0 to the response file and relink before each run of the benchmark.
Differential Revision: https://reviews.llvm.org/D74791
|
 | lld/docs/ld.lld.1 |
 | lld/ELF/Config.h |
 | lld/ELF/Driver.cpp |
 | lld/test/ELF/shuffle-sections.s |
 | lld/ELF/Writer.cpp |
 | lld/ELF/Options.td |
Commit
7d91633a2b9b1f563dc14c632cc0c461c3651f76
by davgFix broken test on Windows caused by D74790
|
 | clang/test/CodeCompletion/included-symlinks.cpp |
Commit
85fb997659b55101b58e3545733e581bf4ed9cf2
by Lang Hames[ORC] Add generic initializer/deinitializer support.
Initializers and deinitializers are used to implement C++ static constructors and destructors, runtime registration for some languages (e.g. with the Objective-C runtime for Objective-C/C++ code) and other tasks that would typically be performed when a shared-object/dylib is loaded or unloaded by a statically compiled program.
MCJIT and ORC have historically provided limited support for discovering and running initializers/deinitializers by scanning the llvm.global_ctors and llvm.global_dtors variables and recording the functions to be run. This approach suffers from several drawbacks: (1) It only works for IR inputs, not for object files (including cached JIT'd objects). (2) It only works for initializers described by llvm.global_ctors and llvm.global_dtors, however not all initializers are described in this way (Objective-C, for example, describes initializers via specially named metadata sections). (3) To make the initializer/deinitializer functions described by llvm.global_ctors and llvm.global_dtors searchable they must be promoted to extern linkage, polluting the JIT symbol table (extra care must be taken to ensure this promotion does not result in symbol name clashes).
This patch introduces several interdependent changes to ORCv2 to support the construction of new initialization schemes, and includes an implementation of a backwards-compatible llvm.global_ctor/llvm.global_dtor scanning scheme, and a MachO specific scheme that handles Objective-C runtime registration (if the Objective-C runtime is available) enabling execution of LLVM IR compiled from Objective-C and Swift.
The major changes included in this patch are:
(1) The MaterializationUnit and MaterializationResponsibility classes are extended to describe an optional "initializer" symbol for the module (see the getInitializerSymbol method on each class). The presence or absence of this symbol indicates whether the module contains any initializers or deinitializers. The initializer symbol otherwise behaves like any other: searching for it triggers materialization.
(2) A new Platform interface is introduced in llvm/ExecutionEngine/Orc/Core.h which provides the following callback interface:
- Error setupJITDylib(JITDylib &JD): Can be used to install standard symbols in JITDylibs upon creation. E.g. __dso_handle.
- Error notifyAdding(JITDylib &JD, const MaterializationUnit &MU): Generally used to record initializer symbols.
- Error notifyRemoving(JITDylib &JD, VModuleKey K): Used to notify a platform that a module is being removed.
Platform implementations can use these callbacks to track outstanding initializers and implement a platform-specific approach for executing them. For example, the MachOPlatform installs a plugin in the JIT linker to scan for both __mod_inits sections (for C++ static constructors) and ObjC metadata sections. If discovered, these are processed in the usual platform order: Objective-C registration is carried out first, then static initializers are executed, ensuring that calls to Objective-C from static initializers will be safe.
This patch updates LLJIT to use the new scheme for initialization. Two LLJIT::PlatformSupport classes are implemented: A GenericIR platform and a MachO platform. The GenericIR platform implements a modified version of the previous llvm.global-ctor scraping scheme to provide support for Windows and Linux. LLJIT's MachO platform uses the MachOPlatform class to provide MachO specific initialization as described above.
Reviewers: sgraenitz, dblaikie
Subscribers: mgorny, hiraditya, mgrang, ributzka, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74300
|
 | llvm/include/llvm/ExecutionEngine/Orc/Mangling.h |
 | llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h |
 | llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h |
 | llvm/lib/ExecutionEngine/Orc/Layer.cpp |
 | llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp |
 | llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h |
 | llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/Core.h |
 | llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h |
 | llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp |
 | llvm/tools/lli/lli.cpp |
 | llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h |
 | llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h |
 | llvm/lib/ExecutionEngine/Orc/Core.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h |
 | llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h |
 | llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h |
 | llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/Layer.h |
 | llvm/lib/ExecutionEngine/Orc/LLJIT.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h |
 | llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h |
 | llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp |
 | llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp |
 | llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h |
 | llvm/test/ExecutionEngine/OrcLazy/objc-minimal.ll |
 | llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h |
 | llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h |
 | llvm/lib/ExecutionEngine/Orc/Mangling.cpp |
 | llvm/tools/llvm-jitlink/llvm-jitlink.cpp |
 | llvm/lib/ExecutionEngine/Orc/CMakeLists.txt |
 | llvm/tools/llvm-jitlink/llvm-jitlink.h |
Commit
7ff1f55a1219719f57a6f7905c26ce41d1767e4c
by martinlibclang: Add static build support for Windows
Differential Revision: https://reviews.llvm.org/D74564
|
 | clang/include/clang-c/Platform.h |
 | clang/tools/libclang/CMakeLists.txt |
Commit
c4b8c3ddc1ab15c914051faea6575cac2581aedb
by mvelsAdd benchmarks for basic_string::erase
Reviewers: EricWF
Subscribers: christof, libcxx-commits
Tags: #libc
Differential Revision: https://reviews.llvm.org/D73740
|
 | libcxx/benchmarks/string.bench.cpp |
Commit
4960eb4a1bdd6f469d5ad6d5049609cf97a982f3
by davgAnother fix for 7d91633a2b9b1f563dc14c632cc0c461c3651f76
Forgot to update lines for RUNs
|
 | clang/test/CodeCompletion/included-symlinks.cpp |
Commit
9df65ca19e5a4f5e49d036b190d814ca8a1784a0
by Lang Hames[ORC] Qualify nullptr_t.
|
 | llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h |
Commit
63d0932c358012bcfc1a87f78a5f05bafc2dc86d
by Lang Hames[ORC] Fix a missing move.
|
 | llvm/lib/ExecutionEngine/Orc/LLJIT.cpp |
Commit
0b6ead018a6838dcb430001af295b1f044a8baf2
by arsenm2AMDGPU/GlobalISel: Cleanup min/max RegBankSelect tests
Use common check prefix, although update_mir_test_checks makes this unnecessarily annoying. Also make sure to have uses in case that ever ends up mattering.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-smax.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-umax.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-smin.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-umin.mir |
Commit
cbc3b3046f6b1e2a721534439f62b7a275597a6e
by arsenm2AMDGPU/GlobalISel: Remove outdated comment
|
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
Commit
ed07c89fc50f38c4f1403b19897468edd7e5cbf3
by Yaxun.LiuAdd cl_khr_mipmap_image_writes as supported to AMDGPU
Differential Revision: https://reviews.llvm.org/D74807
|
 | clang/lib/Basic/Targets/AMDGPU.h |
Commit
4bb0c8f91cb7448ef6de913367f2b46b46392fda
by arsenm2AMDGPU: Enable integer division bypass
We probably want this, and I've meant to turn this on for a long time. SC actually emits a special case to early-out for a 1 denominator, which perhaps should also be considered.
|
 | llvm/test/CodeGen/AMDGPU/bypass-div.ll |
 | llvm/test/CodeGen/AMDGPU/sdivrem64.r600.ll |
 | llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll |
 | llvm/test/CodeGen/AMDGPU/srem64.ll |
 | llvm/test/CodeGen/AMDGPU/udiv64.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/urem64.ll |
 | llvm/test/CodeGen/AMDGPU/sdiv64.ll |
Commit
f5efa08247c7b5dded4e6854c49c9f49b96398f2
by Lang Hames[JITLink] Fix testcase for main JITDylib rename in 85fb997659b.
|
 | llvm/test/ExecutionEngine/JITLink/X86/LocalDependencyPropagation.s |
Commit
38419b8afa8daeb0c650143c87037bab907650bf
by llvmgnsyncbot[gn build] Port 85fb997659b
|
 | llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn |
Commit
709fd989b644a80527e0f4a22503d54255bc095c
by n.james93[clang-tidy] fix readability-redundant-member-init auto-fix of Function-try-block
Summary: This fixes https://bugs.llvm.org/show_bug.cgi?id=39310
Reviewers: malcolm.parsons, ioeric
Reviewed By: malcolm.parsons
Subscribers: xazax.hun
Tags: #clang-format, #clang-tools-extra
Differential Revision: https://reviews.llvm.org/D74800
|
 | clang/unittests/Format/CleanupTest.cpp |
 | clang/lib/Format/TokenAnnotator.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/modernize-use-default-member-init.cpp |
 | clang/lib/Format/UnwrappedLineParser.cpp |
Commit
16aabc86e0ab49dd9dc91dc4d0f71b3fbcdba2bf
by tlively[WebAssembly] Fix memory bug introduced in 52861809994c
Summary: The instruction at `DefI` can sometimes be destroyed by `rematerializeCheapDef`, so it should not be used after calling that function. The fix is to use `Insert` instead when examining additional multivalue stackifications. `Insert` is the address of the new defining instruction after all moves and rematerializations have taken place.
Reviewers: aheejin
Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74875
|
 | llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp |
Commit
d1d5180e6904b3fa86f750a05a6721163e115f4d
by n.james93[NFC] Fix issues with clang-tidy checks list.rst
Added FixItHint comments to ReservedIdentifierCheck and IdentifierNamingCheck to trick the python scripts into detecting a fix it is provided as it can't see the FixItHints in RenamerClangTidyCheck.cpp
|
 | clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp |
 | clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp |
 | clang-tools-extra/docs/clang-tidy/checks/list.rst |
Commit
562c6b80192243b141d1ddd15d1827c860992147
by Dan LiewAdd a `%darwin_min_target_with_tls_support` lit substitution.
Summary: This substitution expands to the appropriate minimum deployment target flag where thread local storage (TLS) was first introduced on Darwin platforms. For all other platforms the substitution expands to an empty string.
E.g. for macOS the substitution expands to `-mmacosx-version-min=10.12`
This patch adds support for the substitution (and future substitutions) by doing a minor refactor and then uses the substitution in the relevant TSan tests.
rdar://problem/59568956
Reviewers: yln, kubamracek, dvyukov, vitalybuka
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D74802
|
 | compiler-rt/test/lit.common.cfg.py |
 | compiler-rt/test/tsan/tls_race2.cpp |
 | compiler-rt/test/tsan/dtls.c |
 | compiler-rt/test/tsan/mutexset7.cpp |
 | compiler-rt/test/tsan/tls_race.cpp |
Commit
95e3956189a6722d1ec4b6d98fb855ee257e64fe
by gclaytonAdd an Offset field to the SourceLocation for LookupResult objects.
Summary: The Offset provides the offset within the function in a SourceLocation struct. This allows us to show the byte offset within a function. We also track offsets within inline functions as well. Updated the lookup tests to verify the offset for functions and inline functions.
0x1000: main + 32 @ /tmp/main.cpp:45
Reviewers: labath, aadsm, serhiy.redko, jankratochvil, xiaobai, wallace, aprantl, JDevlieghere
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74680
|
 | llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp |
 | llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp |
 | llvm/include/llvm/DebugInfo/GSYM/LookupResult.h |
 | llvm/lib/DebugInfo/GSYM/InlineInfo.cpp |
Commit
28e0449ec690cc828fb0d94ecee30c8680e0a3d7
by hanchung[mlir][Linalg] Allow specifiying zero-rank shaped type operands to linalg.indexed_generic ops.
Patch D74638 allows linalg.generic ops to use zero-rank shaped type operands, this also can be applied to linalg.indexed_generic ops.
|
 | mlir/test/Dialect/Linalg/loops.mlir |
 | mlir/test/Dialect/Linalg/roundtrip.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp |
Commit
0edb2129258c727e9efe6fa234b28880ff64c1b9
by rnk[MS] Mark vectorcall FP and vector args inreg
This has no effect on how LLVM passes the arguments, but it prevents rewriteWithInAlloca from thinking that these parameters should be part of the inalloca pack.
Follow-up to D72114
Reviewed By: erichkeane
Differential Revision: https://reviews.llvm.org/D74452
|
 | clang/test/CodeGenCXX/inalloca-vector.cpp |
 | clang/test/CodeGen/vectorcall.c |
 | clang/lib/CodeGen/TargetInfo.cpp |
Commit
40463301e4586a1b1bcdf4af65ef10b67ac32c66
by i[ELF][test] Fix shuffle_sections.s
C++ standard libraries have different random function implementations. We cannot expect a particular order.
|
 | lld/test/ELF/shuffle-sections.s |
Commit
878159038b0cae2c9ca4180ea35f5e115e9570ce
by maskray[ELF][test] Fix --symbol-ordering-file tests of shuffle_sections.s
|
 | lld/test/ELF/shuffle-sections.s |
Commit
bd4812776bc73ca27bf6c68629a20f03268cdd6e
by sbc[WebAssembly] Use llvm::Optional to store optional symbol attributes. NFC.
The changes the in-memory representation of wasm symbols such that their optional ImportName and ImportModule use llvm::Optional.
ImportName is set whenever WASM_SYMBOL_EXPLICIT_NAME flag is set. ImportModule (for imports) is currently always set since it defaults to "env".
In the future we can possibly extent to binary format distingish import which have explit module names.
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74109
|
 | llvm/test/tools/llvm-readobj/wasm/wasm-imports.test |
 | llvm/tools/llvm-readobj/WasmDumper.cpp |
 | llvm/test/tools/llvm-readobj/wasm/symbols.test |
 | lld/wasm/Driver.cpp |
 | llvm/include/llvm/MC/MCSymbolWasm.h |
 | llvm/lib/Object/WasmObjectFile.cpp |
 | llvm/include/llvm/BinaryFormat/Wasm.h |
 | lld/wasm/SymbolTable.cpp |
 | lld/wasm/LTO.cpp |
 | lld/wasm/Symbols.h |
 | lld/wasm/SyntheticSections.cpp |
 | llvm/test/MC/WebAssembly/debug-info.ll |
 | lld/wasm/SymbolTable.h |
 | lld/wasm/InputFiles.cpp |
Commit
a750422609eb5687f6f27d8908dda3a119622254
by riddleriver[mlir] Update usage of createJITDylib to createBareJITDylib after LLVM change
A few tests are broken, but this allows for MLIR to build.
|
 | mlir/lib/ExecutionEngine/ExecutionEngine.cpp |
Commit
6990eaf1fe00e9736fbfbcae160e18c5edbcd1d4
by Jonas Devlieghere[lldb/Test] Skip VSCode test on embedded Darwin
These tests are not configured to run on the device.
|
 | lldb/test/API/tools/lldb-vscode/variables/TestVSCode_variables.py |
 | lldb/test/API/tools/lldb-vscode/breakpoint/TestVSCode_setExceptionBreakpoints.py |
 | lldb/test/API/tools/lldb-vscode/stackTrace/TestVSCode_stackTrace.py |
 | lldb/test/API/tools/lldb-vscode/launch/TestVSCode_launch.py |
 | lldb/test/API/tools/lldb-vscode/breakpoint/TestVSCode_setBreakpoints.py |
 | lldb/test/API/tools/lldb-vscode/step/TestVSCode_step.py |
 | lldb/test/API/tools/lldb-vscode/breakpoint/TestVSCode_setFunctionBreakpoints.py |
 | lldb/test/API/tools/lldb-vscode/attach/TestVSCode_attach.py |
Commit
06f1a5c9c283838b8ed1d16961e41462371cd61f
by sbc[lld][WebAssembly] Allow symbols with explict import names to be undefined at link time.
Differential Revision: https://reviews.llvm.org/D74110
|
 | lld/test/wasm/import-name.ll |
 | lld/wasm/Relocations.cpp |
 | lld/docs/WebAssembly.rst |
Commit
8ea3eb86d65f458208a5df12d44c914b1d1e6dea
by thakis[gn build] (manually) partially (?) merge 7ff1f55a1219
|
 | llvm/utils/gn/secondary/clang/tools/libclang/BUILD.gn |
Commit
be66cf221bbe6bb119d478e69fd2ca21872e2ad3
by ikudrin[DebugInfo] Read CIE pointer as a relocatable value.
The CIE pointer field of an FDE record contains an offset to a corresponding CIE record. In object files, this value comes with relocation because the value has to be fixed when a linker combines the final section from multiple sources. In most object files there is only one CIE record at offset 0 of the .debug_frame section, so reading a relocated or a raw value makes no difference. However, in partially linked object files there are multiple CIE records and the relocations should be applied to recover the right offset value.
Differential Revision: https://reviews.llvm.org/D74612
|
 | llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp |
 | llvm/test/DebugInfo/debug-frame-cie-pointer-reloc.test |
Commit
95a239be5b771614a3be47db55ff5ce4acd69390
by ikudrin[DebugInfo] Remove a misleading comment for llvm::dwarf::FDE.
The comment described a linked CIE to be acquired lazily. That is not true and looks like it was never true.
Differential Revision: https://reviews.llvm.org/D74761
|
 | llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h |
Commit
84fc1233d9a47cd7b6e681b4573d9abbc779dd2b
by SourabhSingh.Tomar[DebugInfo][NFCI]: Removed an exclamation mark from error message.
|
 | llvm/tools/llvm-dwp/llvm-dwp.cpp |
Commit
6730f390a1fb069e567ebd635390de381d21b994
by douglas.yungFixup test after changes made in 709fd989.
The change added a test that required exceptions, so enable that explicitly so that it works on platforms that default to having exceptions disabled (like the PS4).
|
 | clang-tools-extra/test/clang-tidy/checkers/modernize-use-default-member-init.cpp |
Commit
c6ac717aa70d3f31c0a4fd6385e8baaa9f3e2724
by johannes[Attributor] Allow multiple uses of a casted function pointer
If a function pointer is casted into a different type the resulting expression can be a constant. If so, it can be used multiple times which cannot be handled by the AbstractCallSite constructor alone. Instead, we follow the cast expression uses now explicitly during the call site traversal.
|
 | llvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll |
 | llvm/include/llvm/Transforms/IPO/Attributor.h |
 | llvm/lib/Transforms/IPO/Attributor.cpp |
 | llvm/test/Transforms/Attributor/IPConstantProp/arg-type-mismatch.ll |
 | llvm/test/Transforms/Attributor/callbacks.ll |
Commit
490a9a4b77ea23f388cae67d732af6bd8aa576f9
by Lang Hames[examples] Fix the clang-interpreter example for changes in 85fb997659b.
|
 | clang/examples/clang-interpreter/main.cpp |
Commit
92250ec270e1b0ed9f25ddaa224b5cbda9afc686
by Lang Hames[examples] Fix the SpeculativeJIT example for 85fb997659b.
|
 | llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp |
Commit
1e99fc9d58d12b77f8d7319d464b416a1672c3e2
by johannes[Attributor] Add initial AAIsDead for arguments
We usually will ask for liveness of an argument anyway so we ended up lazily creating the attribute anyway. However, that is not always the case and even if it is we should go the eager route here. Various tests show how this can improve the outcome. One test exposed a problem with type mismatches between argument and call site argument, a fix is included. For liveness various more tests were added as well.
|
 | llvm/test/Transforms/Attributor/liveness.ll |
 | llvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll |
 | llvm/lib/Transforms/IPO/Attributor.cpp |
 | llvm/test/Transforms/Attributor/range.ll |
Commit
14fb31795a4bd25798bc2788dd4d4e38e3ea41c7
by Jonas Devlieghere[lldb/Test] s/skipIfDarwinEmbedded/skipIfRemote/ in VSCode tests.
As pointed out on lldb-commits this skipIfRemote is the better fit for the decorator.
|
 | lldb/test/API/tools/lldb-vscode/breakpoint/TestVSCode_setExceptionBreakpoints.py |
 | lldb/test/API/tools/lldb-vscode/attach/TestVSCode_attach.py |
 | lldb/test/API/tools/lldb-vscode/breakpoint/TestVSCode_setFunctionBreakpoints.py |
 | lldb/test/API/tools/lldb-vscode/stackTrace/TestVSCode_stackTrace.py |
 | lldb/test/API/tools/lldb-vscode/step/TestVSCode_step.py |
 | lldb/test/API/tools/lldb-vscode/variables/TestVSCode_variables.py |
 | lldb/test/API/tools/lldb-vscode/launch/TestVSCode_launch.py |
 | lldb/test/API/tools/lldb-vscode/breakpoint/TestVSCode_setBreakpoints.py |
Commit
16188f9d70d77ca9ff1d1d2ff2db64479341e9bf
by johannes[Attributor][FIX] Do not create new calls edge we cannot handle
If we propagate function pointers across function boundaries we can create new call edges. These need to be represented in the CG if we run as a CGSCC pass. In the new pass manager that is currently not handled by the CallGraphUpdater so we need to prevent the situation for now.
|
 | llvm/include/llvm/Transforms/IPO/Attributor.h |
 | llvm/lib/Transforms/IPO/Attributor.cpp |
Commit
e1eed6c5b9faf89491beaa592180a1c96fe13e0e
by johannes[Attributor] Generalize `getAssumedConstantInt` interface
We are often interested in an assumed constant and sometimes it has to be an integer constant. Before we only looked for the latter, now we can ask for either.
|
 | llvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll |
 | llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll |
 | llvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll |
 | llvm/test/Transforms/Attributor/value-simplify.ll |
 | llvm/lib/Transforms/IPO/Attributor.cpp |
 | llvm/test/Transforms/Attributor/align.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/chained.ll |
 | llvm/test/Transforms/Attributor/IPConstantProp/thread_local_acs.ll |
 | llvm/test/Transforms/Attributor/liveness.ll |
 | llvm/test/Transforms/Attributor/IPConstantProp/musttail-call.ll |
Commit
de6e968c0d44d21b16da9b6ec07599e529b8482a
by arsenm2TableGen: Fix logic for default operands
This was checking for default operands in the current DAG instruction, rather than the correct result operand list. I'm not entirly sure how this managed to work before, but was failing for me when multiple default operands were overridden.
|
 | llvm/utils/TableGen/CodeGenDAGPatterns.cpp |
 | llvm/test/TableGen/DefaultOpsGlobalISel.td |
Commit
a801ee869dede6fcef4e6970e94f1a87dc805b76
by johannes[Attributor][FIX] Avoid setting wrong load/store alignments
|
 | llvm/lib/Transforms/IPO/Attributor.cpp |
 | llvm/test/Transforms/Attributor/returned.ll |
 | llvm/test/Transforms/Attributor/align.ll |
Commit
f8ad735729bf8892d71863b4da44ca2dde24d778
by johannes[Attributor] Use existing `returned` information better
We can look through calls with `returned` argument attributes when we collect subsuming positions. This allows us to get existing attributes from more places.
|
 | llvm/lib/Transforms/IPO/Attributor.cpp |
 | llvm/test/Transforms/Attributor/returned.ll |
Commit
3c4da4d7454404b4b4b2376f089226443709f05c
by johannes[Attributor][NFC] Add more memory_location tests
|
 | llvm/test/Transforms/Attributor/memory_locations.ll |
Commit
8e76fec0ae89d724a8d20d48f34c6c596404b916
by johannes[Attributor][NFC] Improve the debug output & add a TODO
|
 | llvm/lib/Transforms/IPO/Attributor.cpp |
Commit
e253cdda35eb24f29170aaaf102caed94a85201c
by uenoku.tokotoko[MustExecute] Add backward exploration for must-be-executed-context
Summary: As mentioned in D71974, it is useful for must-be-executed-context to explore CFG backwardly. This patch is ported from parts of D64975. We use a dominator tree to find the previous context if a dominator tree is available.
Reviewers: jdoerfert, hfinkel, baziotis, sstefan1
Reviewed By: jdoerfert
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74817
|
 | llvm/test/Transforms/Attributor/dereferenceable-1.ll |
 | llvm/test/Transforms/Attributor/misc.ll |
 | llvm/lib/Analysis/MustExecute.cpp |
 | llvm/test/Transforms/Attributor/nonnull.ll |
 | llvm/include/llvm/Transforms/IPO/Attributor.h |
 | llvm/test/Analysis/MustExecute/must_be_executed_context.ll |
 | llvm/include/llvm/Analysis/MustExecute.h |
 | llvm/test/Transforms/Attributor/heap_to_stack.ll |
Commit
d6d640ebae65d7a9f556f3a957a7b36d025dd16f
by maskray[ELF][test] Fix section sh_type and sh_flags
A future MC change may add a warning/error when a .section directive specifies incorrect sh_flags/sh_type.
|
 | lld/test/ELF/linkerscript/Inputs/compress-debug-sections.s |
 | lld/test/ELF/eh-frame-negative-pcrel-sdata2.s |
 | lld/test/ELF/ehframe-relocation.s |
 | lld/test/ELF/Inputs/mips-nonalloc.s |
 | lld/test/ELF/mips-micro-relocs.s |
 | lld/test/ELF/invalid-cie-length2.s |
 | lld/test/ELF/invalid-eh-frame9.s |
 | lld/test/ELF/invalid-eh-frame6.s |
 | lld/test/ELF/invalid-cie-length3.s |
 | lld/test/ELF/invalid-eh-frame3.s |
 | lld/test/ELF/invalid-eh-frame2.s |
 | lld/test/ELF/eh-frame-value-format3.s |
 | lld/test/ELF/eh-frame-value-format4.s |
 | lld/test/ELF/eh-frame-value-format1.s |
 | lld/test/ELF/invalid-cie-length.s |
 | lld/test/ELF/eh-frame-value-format5.s |
 | lld/test/ELF/eh-frame-value-format6.s |
 | lld/test/ELF/Inputs/eh-frame-pcrel-overflow.s |
 | lld/test/ELF/eh-frame-negative-pcrel-sdata4.s |
 | lld/test/ELF/invalid/eh-frame-hdr-no-out.s |
 | lld/test/ELF/eh-frame-pcrel-overflow.s |
 | lld/test/ELF/ppc64-ld-got-dtprel.s |
 | lld/test/ELF/invalid-cie-length4.s |
 | lld/test/ELF/invalid-eh-frame8.s |
 | lld/test/ELF/linkerscript/compress-debug-sections-custom.s |
 | lld/test/ELF/Inputs/ppc64-sort-small-cm-relocs-input4.s |
 | lld/test/ELF/linkerscript/compress-debug-sections.s |
 | lld/test/ELF/invalid-cie-length5.s |
 | lld/test/ELF/invalid-eh-frame7.s |
 | lld/test/ELF/eh-frame-value-format7.s |
 | lld/test/ELF/compress-debug-sections-reloc.s |
 | lld/test/ELF/icf16.s |
 | lld/test/ELF/invalid-fde-rel.s |
 | lld/test/ELF/eh-frame-begin-end.s |
 | lld/test/ELF/comdat-discarded-reloc.s |
 | lld/test/ELF/eh-frame-value-format8.s |
 | lld/test/ELF/invalid-eh-frame5.s |
 | lld/test/ELF/Inputs/eh-frame-end.s |
 | lld/test/ELF/eh-frame-negative-pcrel-sdata8.s |
 | lld/test/ELF/invalid-eh-frame.s |
 | lld/test/ELF/eh-frame-value-format9.s |
 | lld/test/ELF/eh-frame-value-format2.s |
 | lld/test/ELF/invalid-eh-frame4.s |
 | lld/test/ELF/mips-nonalloc.s |
 | lld/test/ELF/invalid-cie-reference.s |
 | lld/test/ELF/eh-frame-marker.s |
 | lld/test/ELF/no-augmentation.s |
Commit
3a0f6e699bb6d96dc62dce6faef20ac26cf103fd
by sgueltonFix compiler extension in standalone mode
Use a dedicated cmake file to store the extension configured within LLVM. That way, a standalone build of clang can load this cmake file and get all the configured standalone extensions.
This patch is related to https://reviews.llvm.org/D74602
Differential Revision: https://reviews.llvm.org/D74757
|
 | llvm/cmake/modules/CMakeLists.txt |
 | llvm/CMakeLists.txt |
 | clang/CMakeLists.txt |
 | llvm/cmake/modules/AddLLVM.cmake |
Commit
d8916e58cf1c37dbb1aef1a0e466537262046a8f
by pifonRemove debugging artefact.
|
 | mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopFusion.cpp |
Commit
fdea9a4ec9b0d9585b8fe8a612686d9f44f40ddc
by Raphael Isemann[lldb] Remove license headers from all test source files
Summary: Around a third of our test sources have LLVM license headers. This patch removes those headers from all test sources and also fixes any tests that depended on the length of the license header.
The reasons for this are:
* A few tests verify line numbers and will start failing if the number of lines in the LLVM license header changes. Once I landed my patch for valid SourceLocations in debug info we will probably have even more tests that verify line numbers. * No other LLVM project is putting license headers in its test files to my knowledge. * They make the test sources much more verbose than they have to be. Several tests have longer license headers than the actual test source.
For the record, the following tests had their line numbers changed to pass with the removal of the license header: lldb-api :: functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py lldb-shell :: Reproducer/TestGDBRemoteRepro.test lldb-shell :: Reproducer/TestMultipleTargets.test lldb-shell :: Reproducer/TestReuseDirectory.test lldb-shell :: ExecControl/StopHook/stop-hook-threads.test lldb-shell :: ExecControl/StopHook/stop-hook.test lldb-api :: lang/objc/exceptions/TestObjCExceptions.py
Reviewers: #lldb, espindola, JDevlieghere
Reviewed By: #lldb, JDevlieghere
Subscribers: emaste, aprantl, arphaman, JDevlieghere, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D74839
|
 | lldb/test/API/functionalities/tail_call_frames/sbapi_support/main.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-objc/cmtime/main.m |
 | lldb/test/API/functionalities/data-formatter/data-formatter-objc/nsindexpath/main.m |
 | lldb/test/API/functionalities/value_md5_crash/main.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-objc/main.m |
 | lldb/test/API/lang/c/enum_types/main.c |
 | lldb/test/API/commands/expression/radar_9531204/main.c |
 | lldb/test/API/lang/cpp/frame-var-anon-unions/main.cpp |
 | lldb/test/API/lang/cpp/this/main.cpp |
 | lldb/test/API/api/check_public_api_headers/main.cpp.template |
 | lldb/test/API/lang/cpp/enum_types/main.cpp |
 | lldb/test/API/functionalities/unwind/standard/hand_written/divmod.cpp |
 | lldb/test/API/commands/expression/persistent_types/main.c |
 | lldb/test/API/lang/cpp/class_types/main.cpp |
 | lldb/test/API/functionalities/darwin_log/source/info/main.c |
 | lldb/test/API/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/main.cpp |
 | lldb/test/API/functionalities/darwin_log/filter/regex/activity/main.c |
 | lldb/test/API/functionalities/breakpoint/serialize/main.c |
 | lldb/test/API/functionalities/archives/b.c |
 | lldb/test/API/commands/apropos/with-process/main.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-synth/main.cpp |
 | lldb/test/API/functionalities/type_lookup/main.mm |
 | lldb/test/Shell/Reproducer/Inputs/simple.c |
 | lldb/test/API/functionalities/data-formatter/frameformat_smallstruct/main.cpp |
 | lldb/test/API/lang/cpp/const_this/main.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-named-summaries/main.cpp |
 | lldb/test/API/macosx/duplicate-archive-members/sub1/a.c |
 | lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp |
 | lldb/test/API/python_api/sbdata/main.cpp |
 | lldb/test/API/python_api/sbtype_typeclass/main.m |
 | lldb/test/API/functionalities/darwin_log/filter/exact_match/activity/main.c |
 | lldb/test/API/python_api/event/main.c |
 | lldb/test/API/lang/cpp/namespace_definitions/a.cpp |
 | lldb/test/API/functionalities/breakpoint/cpp/main.cpp |
 | lldb/test/API/functionalities/tsan/thread_leak/main.c |
 | lldb/test/API/python_api/value/linked_list/main.cpp |
 | lldb/test/API/functionalities/load_unload/b.cpp |
 | lldb/test/API/functionalities/data-formatter/poarray/main.mm |
 | lldb/test/API/lang/cpp/namespace/ns2.cpp |
 | lldb/test/API/functionalities/darwin_log/filter/exact_match/activity-chain/main.c |
 | lldb/test/API/commands/target/create-deps/main.cpp |
 | lldb/test/API/lang/cpp/printf/main.cpp |
 | lldb/test/API/functionalities/data-formatter/summary-string-onfail/main.cpp |
 | lldb/test/API/python_api/objc_type/main.m |
 | lldb/test/API/functionalities/data-formatter/var-in-aggregate-misuse/main.cpp |
 | lldb/test/API/lang/cpp/namespace_definitions/foo.h |
 | lldb/test/API/functionalities/thread/multi_break/main.cpp |
 | lldb/test/API/lang/cpp/diamond/main.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/main.cpp |
 | lldb/test/API/python_api/type/main.cpp |
 | lldb/test/API/python_api/value/empty_class/main.cpp |
 | lldb/test/Shell/ExecControl/StopHook/Inputs/stop-hook-threads.cpp |
 | lldb/test/API/functionalities/postmortem/elf-core/gcore/main.cpp |
 | lldb/test/API/lang/cpp/namespace/ns.cpp |
 | lldb/test/API/lang/c/set_values/main.c |
 | lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/main.cpp |
 | lldb/test/API/python_api/watchpoint/watchlocation/main.cpp |
 | lldb/test/Shell/Reproducer/Inputs/MultipleTargetsCapture.in |
 | lldb/test/API/lang/cpp/wchar_t/main.cpp |
 | lldb/test/API/functionalities/darwin_log/filter/regex/message/main.c |
 | lldb/test/API/lang/c/stepping/main.c |
 | lldb/test/API/functionalities/data-formatter/nssetsynth/main.m |
 | lldb/test/API/commands/watchpoints/watchpoint_commands/main.c |
 | lldb/test/API/functionalities/postmortem/elf-core/thread_crash/main.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-ptr-to-array/main.cpp |
 | lldb/test/API/python_api/frame/main.c |
 | lldb/test/API/lang/cpp/namespace_definitions/main.cpp |
 | lldb/test/API/lang/objc/variadic_methods/main.m |
 | lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/main.c |
 | lldb/test/API/lang/c/function_types/main.c |
 | lldb/test/Shell/ExecControl/StopHook/Inputs/stop-hook.c |
 | lldb/test/API/functionalities/data-formatter/data-formatter-proper-plurals/main.m |
 | lldb/test/API/functionalities/darwin_log/filter/exact_match/category/main.c |
 | lldb/test/API/functionalities/tsan/global_location/main.c |
 | lldb/test/API/lang/cpp/static_members/main.cpp |
 | lldb/test/API/functionalities/darwin_log/filter/regex/category/main.c |
 | lldb/test/API/functionalities/darwin_log/filter/regex/subsystem/main.c |
 | lldb/test/API/commands/expression/radar_9673664/main.c |
 | lldb/test/API/functionalities/data-formatter/compactvectors/main.cpp |
 | lldb/test/API/functionalities/data-formatter/nsarraysynth/main.m |
 | lldb/test/API/commands/watchpoints/watchpoint_on_vectors/main.c |
 | lldb/test/API/functionalities/breakpoint/comp_dir_symlink/main.cpp |
 | lldb/test/API/lang/cpp/unicode-literals/main.cpp |
 | lldb/test/API/macosx/duplicate-archive-members/main.c |
 | lldb/test/API/python_api/value/main.c |
 | lldb/test/API/functionalities/load_unload/c.cpp |
 | lldb/test/API/functionalities/data-formatter/nsdictionarysynth/main.m |
 | lldb/test/API/functionalities/breakpoint/breakpoint_command/main.c |
 | lldb/test/API/commands/add-dsym/uuid/main.cpp.template |
 | lldb/test/API/functionalities/data-formatter/typedef_array/main.cpp |
 | lldb/test/API/lang/c/tls_globals/main.c |
 | lldb/test/API/functionalities/load_unload/d.cpp |
 | lldb/test/API/android/platform/main.cpp |
 | lldb/test/API/functionalities/asan/main.c |
 | lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/function/TestLibCxxFunction.py |
 | lldb/test/API/commands/target/basic/c.c |
 | lldb/test/API/commands/register/register/intel_xtended_registers/mpx_bound_violation/main.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/function/main.cpp |
 | lldb/test/API/functionalities/non-overlapping-index-variable-i/main.cpp |
 | lldb/test/API/lang/c/global_variables/main.c |
 | lldb/test/API/functionalities/data-formatter/data-formatter-objc/nsstring/main.m |
 | lldb/test/API/commands/frame/recognizer/main.m |
 | lldb/test/API/functionalities/ptr_refs/main.c |
 | lldb/test/API/commands/target/basic/a.c |
 | lldb/test/API/functionalities/load_using_paths/main.cpp |
 | lldb/test/API/functionalities/thread/crash_during_step/main.cpp |
 | lldb/test/API/functionalities/tsan/basic/main.c |
 | lldb/test/API/commands/target/basic/b.c |
 | lldb/test/API/functionalities/load_unload/main.cpp |
 | lldb/test/API/functionalities/thread/concurrent_events/main.cpp |
 | lldb/test/Shell/Reproducer/Inputs/GDBRemoteCrashCapture.in |
 | lldb/test/API/functionalities/thread/jump/main.cpp |
 | lldb/test/API/functionalities/breakpoint/breakpoint_names/main.c |
 | lldb/test/API/functionalities/recursion/main.cpp |
 | lldb/test/API/lang/cpp/signed_types/main.cpp |
 | lldb/test/API/python_api/target/main.c |
 | lldb/test/API/functionalities/unwind/standard/hand_written/fprintf.cpp |
 | lldb/test/API/lang/cpp/namespace_definitions/b.cpp |
 | lldb/test/API/python_api/thread/main.cpp |
 | lldb/test/API/functionalities/memory/read/main.cpp |
 | lldb/test/API/commands/command/nested_alias/main.cpp |
 | lldb/test/API/functionalities/data-formatter/setvaluefromcstring/main.m |
 | lldb/test/API/python_api/signals/main.cpp |
 | lldb/test/API/functionalities/breakpoint/breakpoint_ids/main.cpp |
 | lldb/test/API/lang/c/typedef/main.c |
 | lldb/test/API/functionalities/tail_call_frames/thread_step_out_message/main.cpp |
 | lldb/test/API/lang/cpp/namespace/ns.h |
 | lldb/test/API/python_api/process/main.cpp |
 | lldb/test/API/functionalities/data-formatter/pyobjsynthprovider/main.cpp |
 | lldb/test/API/functionalities/tsan/multiple/main.m |
 | lldb/test/API/lang/c/strings/main.c |
 | lldb/test/API/functionalities/inferior-changed/main2.c |
 | lldb/test/API/functionalities/data-formatter/parray/main.cpp |
 | lldb/test/API/tools/lldb-server/libraries-svr4/main.cpp |
 | lldb/test/Shell/Reproducer/TestMultipleTargets.test |
 | lldb/test/API/functionalities/darwin_log/filter/exact_match/message/main.c |
 | lldb/test/API/commands/watchpoints/hello_watchpoint/main.c |
 | lldb/test/API/lang/cpp/llvm-style/main.cpp |
 | lldb/test/Shell/ExecControl/StopHook/Inputs/stop-hook-2.lldbinit |
 | lldb/test/API/lang/cpp/global_variables/main.cpp |
 | lldb/test/API/commands/expression/save_jit_objects/main.c |
 | lldb/test/API/functionalities/tail_call_frames/thread_step_out_or_return/main.cpp |
 | lldb/test/API/commands/frame/var-scope/main.c |
 | lldb/test/API/macosx/duplicate-archive-members/a.c |
 | lldb/test/API/commands/disassemble/basic/main.cpp |
 | lldb/test/API/commands/watchpoints/multi_watchpoint_slots/main.c |
 | lldb/test/API/functionalities/thread/step_out/main.cpp |
 | lldb/test/API/commands/watchpoints/watchpoint_commands/command/main.cpp |
 | lldb/test/API/python_api/exprpath_synthetic/main.mm |
 | lldb/test/API/python_api/lldbutil/iter/main.cpp |
 | lldb/test/API/lang/cpp/template-function/main.cpp |
 | lldb/test/API/functionalities/darwin_log/source/debug/main.c |
 | lldb/test/API/functionalities/data-formatter/synthupdate/main.m |
 | lldb/test/API/commands/expression/persistent_variables/main.c |
 | lldb/test/API/functionalities/load_unload/hidden/d.cpp |
 | lldb/test/API/lang/objc/bitfield_ivars/main.m |
 | lldb/test/API/functionalities/darwin_log/filter/exact_match/subsystem/main.c |
 | lldb/test/API/functionalities/plugins/command_plugin/plugin.cpp.template |
 | lldb/test/API/macosx/nslog/main.m |
 | lldb/test/API/commands/expression/radar_8638051/main.c |
 | lldb/test/API/lang/objc/self/main.m |
 | lldb/test/API/lang/cpp/extern_c/main.cpp |
 | lldb/test/API/functionalities/thread/break_after_join/main.cpp |
 | lldb/test/API/functionalities/thread/exit_during_step/main.cpp |
 | lldb/test/API/lang/cpp/unsigned_types/main.cpp |
 | lldb/test/API/functionalities/data-formatter/ptr_ref_typedef/main.cpp |
 | lldb/test/API/functionalities/memory/cache/main.cpp |
 | lldb/test/API/commands/settings/main.cpp |
 | lldb/test/API/functionalities/data-formatter/language_category_updates/main.cpp |
 | lldb/test/API/functionalities/data-formatter/hexcaps/main.cpp |
 | lldb/test/API/lang/cpp/type_lookup/main.cpp |
 | lldb/test/API/functionalities/unwind/standard/hand_written/new_delete.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-categories/main.cpp |
 | lldb/test/API/commands/watchpoints/watchpoint_set_command/main.cpp |
 | lldb/test/API/lang/cpp/auto/main.cpp |
 | lldb/test/API/lang/objc/print-obj/blocked.m |
 | lldb/test/API/macosx/order/main.c |
 | lldb/test/API/functionalities/darwin_log/format/main.c |
 | lldb/test/API/functionalities/tail_call_frames/disambiguate_call_site/main.cpp |
 | lldb/test/API/lang/c/global_variables/a.c |
 | lldb/test/API/functionalities/tail_call_frames/disambiguate_paths_to_common_sink/main.cpp |
 | lldb/test/API/lang/c/struct_types/main.c |
 | lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py |
 | lldb/test/API/functionalities/type_completion/main.cpp |
 | lldb/test/API/lang/objc/ptr_refs/main.m |
 | lldb/test/API/functionalities/data-formatter/data-formatter-cpp/main.cpp |
 | lldb/test/API/functionalities/archives/main.c |
 | lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/main.cpp |
 | lldb/test/API/python_api/watchpoint/main.c |
 | lldb/test/API/functionalities/tsan/thread_numbers/main.c |
 | lldb/test/API/lang/objc/exceptions/main.mm |
 | lldb/test/API/functionalities/data-formatter/user-format-vs-summary/main.cpp |
 | lldb/test/API/functionalities/memory/find/main.cpp |
 | lldb/test/API/commands/expression/ir-interpreter-phi-nodes/main.cpp |
 | lldb/test/API/functionalities/thread/thread_exit/main.cpp |
 | lldb/test/API/functionalities/darwin_log/basic/main.c |
 | lldb/test/API/tools/lldb-server/main.cpp |
 | lldb/test/API/functionalities/data-formatter/stringprinter/main.cpp |
 | lldb/test/API/functionalities/load_using_paths/hidden/d.cpp |
 | lldb/test/API/python_api/section/main.c |
 | lldb/test/API/functionalities/data-formatter/dump_dynamic/main.cpp |
 | lldb/test/API/python_api/class_members/main.mm |
 | lldb/test/API/python_api/function_symbol/main.c |
 | lldb/test/API/lang/cpp/namespace/ns3.cpp |
 | lldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq1/main.cpp |
 | lldb/test/API/functionalities/darwin_log/filter/regex/activity-chain/main.c |
 | lldb/test/API/lang/cpp/class-template-parameter-pack/main.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-smart-array/main.cpp |
 | lldb/test/API/functionalities/thread/create_during_step/main.cpp |
 | lldb/test/API/python_api/thread/main2.cpp |
 | lldb/test/API/functionalities/inferior-crashing/main.c |
 | lldb/test/API/functionalities/breakpoint/breakpoint_conditions/main.c |
 | lldb/test/API/functionalities/data-formatter/data-formatter-script/main.cpp |
 | lldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq2/main.cpp |
 | lldb/test/API/commands/target/basic/globals.c |
 | lldb/test/API/python_api/symbol-context/main.c |
 | lldb/test/Shell/Reproducer/Inputs/GDBRemoteCapture.in |
 | lldb/test/API/python_api/frame/get-variables/main.c |
 | lldb/test/API/functionalities/thread/exit_during_break/main.cpp |
 | lldb/test/Shell/ExecControl/StopHook/Inputs/stop-hook-3.lldbinit |
 | lldb/test/API/lang/cpp/namespace_conflicts/main.cpp |
 | lldb/test/API/commands/target/create-deps/a.cpp |
 | lldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/main.cpp |
 | lldb/test/API/lang/c/tls_globals/a.c |
 | lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/main.c |
 | lldb/test/API/functionalities/inferior-changed/main.c |
 | lldb/test/API/python_api/lldbutil/frame/main.c |
 | lldb/test/API/lang/cpp/function-template-parameter-pack/main.cpp |
 | lldb/test/API/linux/thread/create_during_instruction_step/main.cpp |
 | lldb/test/API/commands/register/register/register_command/a.cpp |
 | lldb/test/API/commands/watchpoints/hello_watchlocation/main.cpp |
 | lldb/test/API/commands/register/register/register_command/main.cpp |
 | lldb/test/API/commands/command/script/main.cpp |
 | lldb/test/API/lang/cpp/char1632_t/main.cpp |
 | lldb/test/API/commands/watchpoints/watchpoint_size/main.c |
 | lldb/test/API/linux/builtin_trap/main.cpp |
 | lldb/test/API/lang/cpp/class_static/main.cpp |
 | lldb/test/API/lang/cpp/stl/main.cpp |
 | lldb/test/API/functionalities/archives/a.c |
 | lldb/test/API/lang/cpp/dynamic-value/sbvalue-cast.cpp |
 | lldb/test/API/functionalities/tsan/cpp_global_location/main.cpp |
 | lldb/test/API/functionalities/longjmp/main.c |
 | lldb/test/API/functionalities/thread/jump/other.cpp |
 | lldb/test/API/tools/lldb-server/signal-filtering/main.cpp |
 | lldb/test/API/functionalities/thread/state/main.cpp |
 | lldb/test/API/functionalities/breakpoint/breakpoint_set_restart/main.cpp |
 | lldb/test/API/benchmarks/expression/main.cpp |
 | lldb/test/API/functionalities/conditional_break/main.c |
 | lldb/test/API/lang/c/bitfields/main.c |
 | lldb/test/API/python_api/watchpoint/condition/main.cpp |
 | lldb/test/API/functionalities/load_unload/a.cpp |
 | lldb/test/API/lang/cpp/symbols/main.cpp |
 | lldb/test/API/python_api/lldbutil/process/main.cpp |
 | lldb/test/API/commands/watchpoints/multiple_hits/main.cpp |
 | lldb/test/API/commands/watchpoints/multiple_threads/main.cpp |
 | lldb/test/API/functionalities/data-formatter/ostypeformatting/main.mm |
 | lldb/test/API/functionalities/data-formatter/vector-types/main.cpp |
 | lldb/test/API/tools/lldb-server/libraries-svr4/svr4lib_b_quote.cpp |
 | lldb/test/API/functionalities/inferior-assert/main.c |
 | lldb/test/API/functionalities/tail_call_frames/disambiguate_tail_call_seq/main.cpp |
 | lldb/test/API/functionalities/data-formatter/boolreference/main.mm |
 | lldb/test/API/issue_verification/inline_rerun_inferior.cpp |
 | lldb/test/API/lang/cpp/bool/main.cpp |
 | lldb/test/API/commands/log/basic/main.cpp |
 | lldb/test/API/commands/watchpoints/watchpoint_commands/condition/main.cpp |
 | lldb/test/API/lang/c/array_types/main.c |
 | lldb/test/API/lang/cpp/unique-types/main.cpp |
 | lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/main.cpp |
 | lldb/test/API/lang/cpp/template/main.cpp |
 | lldb/test/API/functionalities/data-formatter/data-formatter-globals/main.cpp |
 | lldb/test/API/tools/lldb-server/libraries-svr4/svr4lib_a.cpp |
 | lldb/test/API/functionalities/breakpoint/breakpoint_hit_count/main.cpp |
 | lldb/test/API/lang/cpp/static_methods/main.cpp |
 | lldb/test/API/functionalities/dead-strip/main.c |
 | lldb/test/API/lang/cpp/lambdas/main.cpp |
 | lldb/test/API/commands/register/register/intel_xtended_registers/main.cpp |
 | lldb/test/API/lang/cpp/namespace/main.cpp |
Commit
b6e5808b2133c0fb411989ecccdd276111c937b3
by johannes[Attributor][NFC] Prepare some tests to be used with update test script
|
 | llvm/test/Transforms/Attributor/dereferenceable-1.ll |
 | llvm/test/Transforms/Attributor/nonnull.ll |
 | llvm/test/Transforms/Attributor/nofree.ll |
Commit
6185fb13d6410ef64dd98d40d11d1edb8c712908
by johannes[Attributor][NFC] Refactor interface
|
 | llvm/lib/Transforms/IPO/Attributor.cpp |
 | llvm/include/llvm/Transforms/IPO/Attributor.h |
Commit
d95cb56649e8493cc1a7e9e20875e464e185f84f
by johannes[Attributor] Make sure abstract attributes are properly initialized
|
 | llvm/lib/Transforms/IPO/Attributor.cpp |
Commit
14d7b802db4fd0c8124b0a58ad405fb52f44956d
by daniel.kiss[LLD][ELF][ARM] Add test cases for R_ARM_THM_MOV*-type relocs
Summary: This patch adds missing tests cases for R_ARM_THM_MOVW/MOVT* relocations for the sake of completeness.
Reviewers: peter.smith, MaskRay, espindola, psmith
Reviewed By: MaskRay, psmith
Subscribers: psmith, danielkiss, emaste, kristof.beyls, llvm-commits
Tags: #llvm, #lld
Differential Revision: https://reviews.llvm.org/D74827
|
 | lld/test/ELF/arm-mov-relocs.s |
Commit
ddf60ba09f2cf31851ea165c7c5fcfc4c2ad546e
by pavel[lldb/DWARF] Always construct a DWARFDebugInfo object
Change the return value of SymbolFileDWARF::DebugInfo from a pointer to a reference, and remove all null checks.
Previously, we were not constructing the DebugInfo object when the debug_info section was empty. Now we always construct the object but it will return an empty list of dwarf units (a thing which it already supported).
|
 | lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h |
 | lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h |
 | lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h |
 | lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp |
Commit
689f1e85ba68db7440451a6834095a52d1526b00
by luismarques[compiler-rt] [builtins] Fix logb / logbl tests
Like was done before in D67999 for `logbf`, this patch fixes the tests for the internal compiler-rt implementations of `logb` and `logbl` to consider all NaNs equivalent. Not doing so was resulting in test failures for riscv64, since the the NaNs had different signs, but the spec doesn't specify the NaN signedness or payload.
Fixes bug 44244.
Reviewers: rupprecht, delcypher Reviewed By: rupprecht, delcypher Differential Revision: https://reviews.llvm.org/D74826
|
 | compiler-rt/test/builtins/Unit/compiler_rt_logbl_test.c |
 | compiler-rt/test/builtins/Unit/compiler_rt_logb_test.c |
Commit
def62c7f6548104274f95154bb5a91264646c701
by sguelton[NFC] Remove ar/ranlib test noise during cmake step
At least on RHEL, ar outputs on stderr a message similar to
.../bin/ar: creating t.a
Which creates noise during the cmake step. Get rid of it.
|
 | llvm/cmake/modules/HandleLLVMOptions.cmake |
Commit
f4fd7dbf85e278eff303514760bff4773a87e601
by mikhail.maltsev[ARM,MVE] Add vqdmull[b,t]q intrinsic families
Summary: This patch adds two families of ACLE intrinsics: vqdmullbq and vqdmulltq (including vector-vector and vector-scalar variants) and the corresponding LLVM IR intrinsics llvm.arm.mve.vqdmull and llvm.arm.mve.vqdmull.predicated.
Reviewers: simon_tatham, MarkMurrayARM, dmgreen, ostannard
Reviewed By: MarkMurrayARM
Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D74845
|
 | llvm/include/llvm/IR/IntrinsicsARM.td |
 | clang/test/CodeGen/arm-mve-intrinsics/vqdmullbq.c |
 | llvm/test/CodeGen/Thumb2/mve-intrinsics/vqdmull.ll |
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | clang/test/CodeGen/arm-mve-intrinsics/vqdmulltq.c |
 | clang/include/clang/Basic/arm_mve.td |
Commit
c8f9e526bc5319f2d0beed4012fbf17b11e15161
by lebedev.ri[clang-tidy] misc-no-recursion: point to the function defs, not decls
Results in slightly better UX. This actually was the initial intent, but it kinda got lost along the way.
|
 | clang-tools-extra/test/clang-tidy/checkers/misc-no-recursion.cpp |
 | clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp |
 | clang/include/clang/Analysis/CallGraph.h |
Commit
dbfc682e2ba2581e214fabb04ba1b555ff8b274a
by dfukalovSpeculativeExecution: fixed ingoring free execution
Summary: After updating cost model in AMDGPU target (47a5c36b37f0) the pass started to ignore some BBs since they got all instructions estimated as free.
Reviewers: arsenm, chandlerc, nhaehnle
Reviewed By: nhaehnle
Subscribers: jvesely, wdng, nhaehnle, tpr, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74825
|
 | llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp |
 | llvm/test/CodeGen/AMDGPU/speculative-execution-freecasts.ll |
Commit
6085593c128e91fd7db998c5441ebe120c7e4f04
by llvm-dev[AMDGPU] simplifyI24 - replace GetDemandedBits with SimplifyMultipleUseDemandedBits
GetDemandedBits mostly just calls SimplifyMultipleUseDemandedBits now, but it does a very blunt constant simplification that SimplifyMultipleUseDemandedBits avoids.
If we need to demand bits from constants we should handle this through ShrinkDemandedConstant/targetShrinkDemandedConstant.
@arsenm confirmed that the sign extended immediates are better for code size.
Differential Revision: https://reviews.llvm.org/D74857
|
 | llvm/test/CodeGen/AMDGPU/amdgpu-mul24-knownbits.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/lshl64-to-32.ll |
Commit
0e417b034ad2572e5a09dbc650d351393c2b574c
by andrzej.warzynski[AArch64][SVE] Re-arrange definitions in AArch64SVEInstrInfo.td (NFC)
Re-arrange definitions related to loads and stores so that they are grouped together.
This patch implements only non-functional changes.
|
 | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |
Commit
7b59ff2fa0a56a0158f3f21aaed217118da669a3
by pavel[lldb] Add boilerplate to recognize the .debug_tu_index section
It's just like debug_cu_index, only for type units.
|
 | lldb/source/Core/Section.cpp |
 | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp |
 | lldb/include/lldb/lldb-enumerations.h |
 | lldb/test/Shell/ObjectFile/ELF/section-types.yaml |
 | lldb/source/Symbol/ObjectFile.cpp |
 | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp |
Commit
c7b7f76ae6ae2a5f3d9753b37ef811da15386cd4
by kkleine[lldb]: fix typo in lldb-gdb-remote.txt
Summary: The logic of the sentence made more sense when "with" is replaced with "without".
Reviewers: labath
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D74895
|
 | lldb/docs/lldb-gdb-remote.txt |
Commit
9ea5d17cc9544838c73e593de4ef224d54fa1cff
by lebedev.ri[Sema] Demote call-site-based 'alignment is a power of two' check for AllocAlignAttr into a warning
Summary: As @rsmith notes in https://reviews.llvm.org/D73020#inline-672219 while that is certainly UB land, it may not be actually reachable at runtime, e.g.: ``` template<int N> void *make() { if ((N & (N-1)) == 0) return operator new(N, std::align_val_t(N)); else return operator new(N); } void *p = make<7>(); ``` and we shouldn't really error-out there.
That being said, i'm not really following the logic here. Which ones of these cases should remain being an error?
Reviewers: rsmith, erichkeane
Reviewed By: erichkeane
Subscribers: cfe-commits, rsmith
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73996
|
 | clang/lib/Sema/SemaChecking.cpp |
 | clang/lib/CodeGen/CGCall.cpp |
 | clang/test/CodeGen/non-power-of-2-alignment-assumptions.c |
 | clang/test/SemaCXX/alloc-align-attr.cpp |
 | clang/test/Sema/alloc-align-attr.c |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
Commit
2f215cf36adced6bf1abda4bdbbc6422c1369353
by djordje.todorovicRevert "Reland "[DebugInfo] Enable the debug entry values feature by default""
This reverts commit rGfaff707db82d. A failure found on an ARM 2-stage buildbot. The investigation is needed.
|
 | llvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir |
 | llvm/include/llvm/Target/TargetMachine.h |
 | llvm/test/DebugInfo/ARM/entry-value-multi-byte-expr.ll |
 | llvm/test/DebugInfo/MIR/X86/dbgcall-site-reg-shuffle.mir |
 | llvm/lib/CodeGen/TargetOptionsImpl.cpp |
 | llvm/test/CodeGen/X86/statepoint-allocas.ll |
 | llvm/test/CodeGen/X86/call-site-info-output.ll |
 | llvm/test/DebugInfo/MIR/ARM/dbgcallsite-noreg-is-imm-check.mir |
 | llvm/test/DebugInfo/ARM/call-site-info-output.ll |
 | clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp |
 | llvm/test/CodeGen/AArch64/arm64-tls-dynamics.ll |
 | llvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir |
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h |
 | llvm/test/CodeGen/ARM/smml.ll |
 | llvm/test/CodeGen/MIR/X86/call-site-info-error3.mir |
 | llvm/test/DebugInfo/MIR/X86/dbgcall-site-two-fwd-reg-defs.mir |
 | llvm/lib/Target/AArch64/AArch64InstrInfo.cpp |
 | llvm/test/CodeGen/X86/tail-dup-repeat.ll |
 | llvm/lib/CodeGen/MachineFunction.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/test/DebugInfo/MIR/X86/dbgcall-site-partial-describe.mir |
 | llvm/test/DebugInfo/MIR/Hexagon/dbgcall-site-instr-before-bundled-call.mir |
 | llvm/test/DebugInfo/MIR/X86/dbgcall-site-lea-interpretation.mir |
 | lldb/test/API/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile |
 | llvm/include/llvm/CodeGen/CommandFlags.inc |
 | llvm/test/CodeGen/AArch64/arm64-anyregcc.ll |
 | llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir |
 | llvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll |
 | clang/lib/CodeGen/BackendUtil.cpp |
 | llvm/lib/CodeGen/LiveDebugValues.cpp |
 | llvm/test/CodeGen/X86/xray-custom-log.ll |
 | llvm/lib/Target/ARM/ARMTargetMachine.cpp |
 | llvm/test/CodeGen/MIR/X86/call-site-info-error1.mir |
 | llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir |
 | llvm/test/DebugInfo/MIR/ARM/dbgcall-site-interpretation.mir |
 | llvm/include/llvm/Target/TargetOptions.h |
 | llvm/test/DebugInfo/MIR/ARM/if-coverter-call-site-info.mir |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir |
 | llvm/lib/Target/AArch64/AArch64TargetMachine.cpp |
 | llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll |
 | llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir |
 | clang/include/clang/Driver/CC1Options.td |
 | llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir |
 | llvm/test/DebugInfo/X86/dbgcall-site-zero-valued-imms.ll |
 | llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir |
 | llvm/test/CodeGen/MIR/X86/call-site-info-error4.mir |
 | llvm/test/CodeGen/X86/xray-typed-event-log.ll |
 | llvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir |
 | llvm/test/DebugInfo/AArch64/call-site-info-output.ll |
 | clang/lib/CodeGen/CGDebugInfo.cpp |
 | llvm/test/DebugInfo/X86/loclists-dwp.ll |
 | clang/include/clang/Basic/CodeGenOptions.def |
 | llvm/test/CodeGen/X86/speculative-load-hardening-indirect.ll |
 | llvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg-multiple-defs.mir |
 | llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir |
 | llvm/test/DebugInfo/MIR/X86/unreachable-block-call-site.mir |
 | llvm/test/tools/llvm-dwarfdump/X86/locstats.ll |
 | llvm/test/tools/llvm-dwarfdump/X86/valid-call-site-GNU-extensions.ll |
 | llvm/test/DebugInfo/X86/dbg-value-regmask-clobber.ll |
 | llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpretation.mir |
 | llvm/test/CodeGen/AArch64/arm64-patchpoint.ll |
 | llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpret-movzxi.mir |
 | llvm/test/DebugInfo/MIR/SystemZ/call-site-lzer.mir |
 | llvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir |
 | llvm/lib/CodeGen/MIRParser/MIRParser.cpp |
 | llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp |
 | llvm/test/tools/llvm-locstats/locstats.ll |
 | llvm/test/CodeGen/MIR/X86/call-site-info-error2.mir |
 | llvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs.mir |
 | llvm/test/DebugInfo/X86/no-entry-values-with-O0.ll |
 | llvm/lib/Target/X86/X86TargetMachine.cpp |
 | llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp |
 | clang/test/CodeGen/debug-info-extern-call.c |
 | llvm/test/DebugInfo/X86/dbgcall-site-64-bit-imms.ll |
 | llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir |
 | llvm/test/CodeGen/X86/hoist-invariant-load.ll |
 | llvm/test/DebugInfo/X86/dbg-value-range.ll |
 | lldb/packages/Python/lldbsuite/test/decorators.py |
 | llvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg.mir |
 | llvm/test/DebugInfo/MIR/X86/dbgcall-site-copy-super-sub.mir |
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
Commit
bb9e92bad55f65f2de58bf29548bdfd3dea2d7ab
by hokein.wu[clang][Index] Fix the incomplete instantiations in libindex.
Summary: libindex will canonicalize references to template instantiations: - 1) reference to an explicit template specialization, report the specializatiion - 2) otherwise, report the primary template
but 2) is not true for incomplete instantiations, this patch fixes this.
Fixes https://github.com/clangd/clangd/issues/287
Reviewers: kadircet
Subscribers: ilya-biryukov, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D74830
|
 | clang/test/Index/Core/index-instantiated-source.cpp |
 | clang-tools-extra/clangd/unittests/XRefsTests.cpp |
 | clang/lib/Index/IndexingContext.cpp |
 | clang/test/Index/Core/index-source.cpp |
Commit
fa221fc6b8ac5ecd344daac634f0db8f22ebf435
by llvm-devRegenerate rotate test. NFC.
|
 | llvm/test/CodeGen/ARM/rotate.ll |
Commit
977cd661cf019039dec7ffdd15bf0ac500828c87
by sebastian.neubauer[AMDGPU] Don’t marke the .note section as ALLOC
Marking a section as ALLOC tells the ELF loader to load the section into memory. As we do not want to load the notes into VRAM, the flag should not be there.
Differential Revision: https://reviews.llvm.org/D74600
|
 | llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp |
 | llvm/test/CodeGen/AMDGPU/hsa.ll |
Commit
15e20dcb8f9decf1928871d562a3724e8cc1e343
by spatel[Utils][x86] add an option to reduce scrubbing of shuffles with memops
I was drafting a patch that would increase broadcast load usage, but our shuffle scrubbing makes it impossible to see if the memory operand offset was getting created correctly. I'm proposing to make that an option (defaulted to 'off' for now to reduce regression test churn).
The updated files provide examples of tests where we can now verify that the pointer offset for a loaded memory operand is correct. We still have stack and constant scrubbing that can obscure the operand even if we don't scrub the entire instruction.
Differential Revision: https://reviews.llvm.org/D74775
|
 | llvm/test/CodeGen/X86/extractelement-load.ll |
 | llvm/utils/update_llc_test_checks.py |
 | llvm/utils/UpdateTestChecks/asm.py |
 | llvm/test/CodeGen/X86/avx-splat.ll |
Commit
083717cf49968ebb973d73b448709d45e3fc0e99
by arsenm2AMDGPU: Fix v2i64<->v4f32 bitcast
I'm not sure how to test the v2i64->v4f32 case since I can't think of any v2i64 cases that won't legalize to v4i32.
|
 | llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll |
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
Commit
659500c0c9657fc6e8d2d184b507f4e4da99297e
by sam.parker[NFC][RDA] Break-up initialization code
Separate out the initialization code from the loop traversal so that the analysis can be reset and re-run by a user.
|
 | llvm/include/llvm/CodeGen/ReachingDefAnalysis.h |
 | llvm/lib/CodeGen/ReachingDefAnalysis.cpp |
Commit
45f008704df2680660ee82a7c3543d3ac9499a99
by sd.fertile[PowerPC][NFC] We do not save/restore vrsave for any remaining subtargets.
Extend lit test to show that we don't save or restore vrsave register when expanding @llvm.eh.unwind.init().
|
 | llvm/test/CodeGen/PowerPC/unwind-dw2.ll |
Commit
216a6e05249544db4c1c3f30944aba3da7463eef
by spatel[x86] regenerate test checks with less shuffle scrubbing; NFC
For shuffles with memory operands, we generally don't want to hide the asm because we want to verify that the address offsets are as expected.
|
 | llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll |
 | llvm/test/CodeGen/X86/masked_gather.ll |
Commit
1f984c83a41bb68b8af4998a7f68876d52bff872
by hansAdd #include <condition_variable> to fix build after 85fb997659b5
See https://reviews.llvm.org/D74300#1884614
|
 | llvm/lib/ExecutionEngine/Orc/Core.cpp |
Commit
fc2b4a02b1a82c40ac1459cd15b9911ebfc78acc
by llvm-dev[DAGCombine] visitEXTRACT_VECTOR_ELT - add SimplifyDemandedBits multi use support
Similar to what we already do with SimplifyDemandedVectorElts, call SimplifyDemandedBits across all the extracted elements of the source vector, treating it as single use.
There's a minor regression in store-weird-sizes.ll which will be addressed in an upcoming SimplifyDemandedBits patch.
|
 | llvm/test/CodeGen/AMDGPU/extractelt-to-trunc.ll |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll |
 | llvm/test/CodeGen/X86/vector-reduce-mul.ll |
 | llvm/test/CodeGen/AMDGPU/idot8s.ll |
 | llvm/test/CodeGen/AMDGPU/idot4u.ll |
 | llvm/test/CodeGen/AMDGPU/idot4s.ll |
 | llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll |
 | llvm/test/CodeGen/X86/psadbw.ll |
Commit
cb54c13c217b3e5fcda5c97bab229c1f9c3934b7
by usx[clang][analyzer] Modify include AllocationState.h in PutenvWithAutoChecker.cpp
Summary: PutenvWithAutoChecker.cpp used to include "AllocationState.h" that is present in project root. This makes build systems like blaze unhappy. Made it include the header relative to source file.
Reviewers: kadircet
Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D74906
|
 | clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp |
Commit
12cc105f806f5a7e7c14350c5ba54654e263c972
by craig.topper[X86] Add DAG combines to form CVTPH2PS/CVTPS2PH from vXf16->vXf32/vXf64 fp_extends and vXf32->vXf16 fp_round.
Only handle power of 2 element count for simplicity. Not sure what to do with vXf64->vXf16 fp_round to avoid double rounding
Differential Revision: https://reviews.llvm.org/D74886
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/half.ll |
 | llvm/test/CodeGen/X86/vector-half-conversions.ll |
Commit
ce70e2899879e092b153a4078b993833b6696713
by danilo.carvalho.grael[AArch64][SVE] Add intrinsics for SVE2 bitwise ternary operations
Summary: Add intrinsics for the following operations: - eor3, bcax - bsl, bsl1n, bsl2n, nbsl
Reviewers: kmclaughlin, c-rhodes, sdesmalen, efriedma, rengolin
Reviewed By: efriedma
Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74785
|
 | llvm/lib/Target/AArch64/SVEInstrFormats.td |
 | llvm/include/llvm/IR/IntrinsicsAArch64.td |
 | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |
 | llvm/test/CodeGen/AArch64/sve2-bitwise-ternary.ll |
Commit
914a97a4e6184234ea231321c3073e021e0c60c7
by spatel[x86] add vector tests for splatted memory ops; NFC
These correspond to patterns seen in PR42024: https://bugs.llvm.org/show_bug.cgi?id=42024
|
 | llvm/test/CodeGen/X86/x86-interleaved-access.ll |
Commit
9bbf271fc9d5b84f9e657805dfff0fb8a1607af4
by craig.topper[AArch64] Move isOverflowIntrOpRes help function to the ISD namespace in SelectionDAG.h. NFC
Enables sharing with an upcoming X86 change.
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/include/llvm/CodeGen/SelectionDAGNodes.h |
Commit
3543ac9ab52df77af55a2ebdeeddfb76aba15d29
by craig.topper[X86] Rewrite LowerBRCOND to remove dead code and handle ISD::SETCC and overflow ops directly.
There's a lot of old leftover code in LowerBRCOND. Especially the detecting or AND or OR of X86ISD::SETCC nodes. Those were needed before LegalizeDAG was changed to visit nodes before their operands.
It also relied on reversing the output of LowerSETCC to find the flags producing node to use for the X86ISD::BRCOND node.
Rather than using LowerSETCC this patch uses emitFlagsForSetcc to handle the integer ISD::SETCC case. This gives the flag producer and the comparison code to use directly. I've removed the addTest flag and just produce a X86ISD::BRCOND and return immediately.
Floating point ISD::SETCC case is just an X86ISD::FCMP with special care for OEQ and UNE derived from the previous code. I've left f128 out so it will emit a test. And LowerSETCC will be called later to produce a libcall and X86ISD::SETCC. We have combines that can merge the test and X86ISD::SETCC.
We need to handle two cases for overflow ops. Either they are used directly or they have a seteq 0 or setne 1 to invert the overflow. The old code did not handle the setne 1 case, but I think some other combines were making up for it.
If we fail to find a condition, we'll wrap an AND with 1 on the original condition and tell emitFlagsForSetcc to emit a compare with 0. This will pickup the LowerAndToBT and or the EmitTest case. I kept the isTruncWithZeroHighBitsInput call, but we might be able to fold that in to emitFlagsForSetcc.
Differential Revision: https://reviews.llvm.org/D74750
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
e442f38395f71b680bc1174568e461b5ff1f7ebf
by Louis Dionne[libc++] Fix unintended ADL inside ref(reference_wrapper<T>) and cref(reference_wrapper<T>)
This patch qualifies calls to ref and cref inside ref(reference_wrapper<T>) and cref(reference_wrapper<T>), respectively. These previously unqualified calls could break in the presence of user functions called ref/cref inside associated namespaces: https://gcc.godbolt.org/z/8VfprT
Fixes PR44398.
Differential Revision: https://reviews.llvm.org/D74287
|
 | libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_2.pass.cpp |
 | libcxx/include/__functional_base |
 | libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp |
Commit
092a57f5082146b6770f89839666b7545a0d27f0
by Louis Dionne[libc++] Fix unqualified call to 'ref' inside shared_ptr(unique_ptr<U, D>)
This prevents unintended ADL: https://gcc.godbolt.org/z/EHw3Gy This issue was mentioned as an addendum in PR44398.
Differential Revision: https://reviews.llvm.org/D74289
|
 | libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp |
 | libcxx/include/memory |
Commit
db8911aad726d050fb36f17f2978bd35f69165cc
by n.james93[clang-tidy] rename_check.py: maintain alphabetical order in Renamed checks section
Summary: Also use //check// in add_new_check.py for terminology consistency.
PS
My GitHub ID is [[ https://github.com/EugeneZelenko | EugeneZelenko ]], if it's necessary for attribution.
Reviewers: alexfh, hokein, aaron.ballman, njames93, MyDeveloperDay
Reviewed By: njames93
Subscribers: Andi, xazax.hun, cfe-commits
Tags: #clang-tools-extra, #clang
Differential Revision: https://reviews.llvm.org/D73580
|
 | clang-tools-extra/clang-tidy/add_new_check.py |
 | clang-tools-extra/clang-tidy/rename_check.py |
 | clang-tools-extra/docs/ReleaseNotes.rst |
Commit
0ed7a61543840ddfe4dcc71307dd77b032dcca6c
by craig.topper[X86] Fix a -Wparentheses warning. NFC
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
6fa3894c4e771c773712b1ae777f78c1c922a908
by Louis Dionne[clang] Fix search path logic for C_INCLUDE_DIRS
For each absolute path given to C_INCLUDE_DIRS, we want it to be added as-is to the include search path. Relative paths should be prefixed with the sysroot.
Thanks to Marco Hinz for the patch.
Differential Revision: https://reviews.llvm.org/D69221
|
 | clang/lib/Driver/ToolChains/Linux.cpp |
 | clang/lib/Driver/ToolChains/Hurd.cpp |
 | clang/lib/Driver/ToolChains/Solaris.cpp |
 | clang/lib/Driver/ToolChains/Darwin.cpp |
 | clang/lib/Driver/ToolChains/Fuchsia.cpp |
 | clang/lib/Driver/ToolChains/WebAssembly.cpp |
Commit
af64b31959f634031e5ddbcf8df1fab69689bfee
by omair.javaidAdd target.xml support for qXfer request.
Summary: Requesting registers one by one takes a while in our project. We want to get rid of it by using target.xml.
Reviewers: jarin, labath, omjavaid
Reviewed By: labath, omjavaid
Subscribers: omjavaid, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D74217
|
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py |
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/registers-target-xml-reading/main.cpp |
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp |
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/registers-target-xml-reading/Makefile |
Commit
0ffa6e1a7e1c5de36276375486f49277c6f95d0e
by rupprecht[lldb] Fix version string when using LLDB_REVISION but not LLDB_REPOSITORY
Summary: lldb's format string (line one) is: `lldb version $clang_version ($lldb_repo revision $lldb_revision)`
When only using $lldb_revision and not $lldb_repo, this might look like: `lldb version 11 ( revision 12345)` which looks pretty ugly.
Aside: I'm not sure we really need all the different versions since we've moved to the monorepo layout -- I don't think anyone is using different llvm/clang/lldb revisions, are they? We could likely tidy this up further if we knew how people consumed the output of lldb --version.
Reviewers: labath, JDevlieghere, friss
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D74859
|
 | lldb/source/lldb.cpp |
Commit
f9c326364e76ea734ce87c9fab5ac8b08ef8e7bb
by llvm-dev[DAGCombiner] Use SDValue::getConstantOperandAPInt helper where possible. NFC.
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
726c342ce27ada28efe90cb04ffb69c75065710a
by francisvm[macho][NFC] Extract all CPU_(SUB_)TYPE logic to libObject
This moves all the logic of converting LLVM Triples to MachO::CPU_(SUB_)TYPE from the specific target (Target)AsmBackend to more convenient functions in libObject.
This also gets rid of the separate two X86AsmBackend classes.
Differential Revision: https://reviews.llvm.org/D74808
|
 | llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h |
 | llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp |
 | llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp |
 | llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp |
 | llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp |
 | llvm/include/llvm/Object/MachO.h |
 | llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp |
 | llvm/lib/Object/MachOObjectFile.cpp |
Commit
70d8fec7c947996e857aa136aa22c22a555b02fa
by riddleriver[mlir] Refactor the structure of the 'verifyConstructionInvariants' methods.
Summary: The current structure suffers from several problems, but the main one is that a construction failure is impossible to debug when using the 'get' methods. This is because we only optionally emit errors, so there is no context given to the user about the problem. This revision restructures this so that errors are always emitted, and the 'get' methods simply pass in an UnknownLoc to emit to. This allows for removing usages of the more constrained "emitOptionalLoc", as well as removing the need for the context parameter.
Fixes [PR#44964](https://bugs.llvm.org/show_bug.cgi?id=44964)
Differential Revision: https://reviews.llvm.org/D74876
|
 | mlir/include/mlir/IR/Types.h |
 | mlir/include/mlir/IR/StorageUniquerSupport.h |
 | mlir/include/mlir/IR/StandardTypes.h |
 | mlir/lib/IR/StandardTypes.cpp |
 | mlir/docs/DefiningAttributesAndTypes.md |
 | mlir/include/mlir/IR/Attributes.h |
 | mlir/include/mlir/IR/Location.h |
 | mlir/lib/Dialect/QuantOps/IR/QuantTypes.cpp |
 | mlir/lib/IR/MLIRContext.cpp |
 | mlir/lib/IR/Attributes.cpp |
 | mlir/lib/IR/Types.cpp |
 | mlir/include/mlir/Dialect/SPIRV/TargetAndABI.h |
 | mlir/include/mlir/Dialect/QuantOps/QuantTypes.h |
 | mlir/lib/Dialect/SPIRV/TargetAndABI.cpp |