Commit
4d4f0922837de3f1aa9862ae8a8d941b3b6e5f78
by michael.hliao[clang][codegen] Skip adding default function attributes on intrinsics.
- After loading builtin bitcode for linking, skip adding default function attributes on LLVM intrinsics as their attributes are well-defined and retrieved directly from internal definitions. Adding extra attributes on intrinsics results in inconsistent result when `-save-temps` is present. Also, that makes few optimizations conservative.
Differential Revision: https://reviews.llvm.org/D87761
|
 | clang/test/CodeGenCUDA/Inputs/device-lib-code.ll |
 | clang/test/CodeGenCUDA/dft-func-attr-skip-intrinsic.hip |
 | clang/lib/CodeGen/CodeGenAction.cpp |
Commit
6ad33d8360335143ef50e7f7b66ae1ce17aaa2a5
by Amara Emerson[AArch64][GlobalISel] Make G_BUILD_VECTOR os <16 x s8> legal.
|
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-build-vector.mir |
 | llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp |
Commit
b3d33f5e838f8a181feb391fc96e74e3bb6be110
by thakis[gn build] make "all" target build
If you want to build everything, building the default target via just `ninja` is better, but `ninja all` shouldn't give you compile errors -- this fixes that.
|
 | llvm/utils/gn/secondary/compiler-rt/lib/scudo/BUILD.gn |
Commit
88bdcbbf1aaef6ac99877cc511bf4b2a85343773
by Matthew.ArsenaultGlobalISel: Lift store value widening restriction
This doesn't change the memory size and doesn't need to worry about non-power-of-2 sizes.
|
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir |
Commit
14e55f82980cf1342d4d3eea4885a5375e829496
by rahmanl[obj2yaml] - Match ".stack_size" with the original section name, and not the uniquified name.
Without this patch, obj2yaml decodes the content of only one ".stack_size" section. Other sections are dumped with their full contents.
Reviewed By: grimar, MaskRay
Differential Revision: https://reviews.llvm.org/D87727
|
 | llvm/tools/obj2yaml/elf2yaml.cpp |
 | llvm/test/tools/obj2yaml/ELF/stack-sizes.yaml |
Commit
f723d193e2c92ea6903e3debfee32b13354808bc
by jinghamAdd '<' meta command to read in code from external file
Perform all error handling in ReadCode()
Add :help text describing “< path”, add extra line before Commands
Differential Revision: https://reviews.llvm.org/D87640
|
 | lldb/source/Expression/REPL.cpp |
Commit
dbde3969ba8e2b396333dc6b139a0b3a88dfbc80
by johannes[UpdateTestChecks][NFC] Fix spelling
|
 | llvm/utils/UpdateTestChecks/common.py |
Commit
6a02932becaeaeb02eddfaed567f3dad3719dd1c
by johannes[OpenMP][FIX] Do not crash trying to print a missing (demangled) user condition
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D85875
|
 | clang/lib/AST/OpenMPClause.cpp |
 | clang/test/AST/ast-dump-openmp-begin-declare-variant_13.c |
Commit
05fd04eda4b22b09e33753132cbf037a1265c7e2
by johannes[OpenMP][FIX] Do not drop a '$' while demangling declare variant names
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D85876
|
 | clang/test/AST/ast-dump-openmp-declare-variant-extensions.c |
 | clang/lib/AST/OpenMPClause.cpp |
Commit
5c63ae156e96a20ce96570d4bd2c48a9c8170a9d
by johannes[OpenMP] Support nested OpenMP context selectors (declare variant)
Due to `omp begin/end declare variant`, OpenMP context selectors can be nested. This patch adds initial support for this so we can use it for target math variants. We should improve the detection of "equivalent" scores and user conditions, we should also revisit the data structures of the OMPTraitInfo object, however, both are not pressing issues right now.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D85877
|
 | clang/test/OpenMP/declare_variant_messages.c |
 | clang/lib/Parse/ParseOpenMP.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/include/clang/Parse/Parser.h |
 | clang/test/AST/ast-dump-openmp-begin-declare-variant_nested.c |
 | clang/include/clang/Basic/DiagnosticParseKinds.td |
Commit
c4b7a1da9d872ed075ce99c80a90b11a135577a0
by johannes[OpenMP] Context selector extensions for return value overloading
This extension allows to declare variants in between `omp begin/end declare variant` that do not match the type of the existing function with that name. Without this extension we would not find a base function (with a compatible type), therefore create a new one, which would cause conflicting declarations. With this extension we will not create "missing" base functions, which basically renders these specializations harmless. They will be generated but never called.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D85878
|
 | clang/include/clang/AST/OpenMPClause.h |
 | clang/include/clang/Basic/AttrDocs.td |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | llvm/include/llvm/Frontend/OpenMP/OMPKinds.def |
 | clang/lib/Parse/ParseOpenMP.cpp |
 | clang/test/AST/ast-dump-openmp-begin-declare-variant-varying-return.c |
Commit
97652202d1e6964d5d7a1c03a257452c7ad95233
by johannes[OpenMP] Overload `std::isnan` and friends multiple times for the GPU
`std::isnan` and friends can be found in two variants in the wild, one returns `bool`, as the standard defines it, one returns `int`, as the C macros do. So far we kinda hoped the system versions of these functions will work for people, e.g. they are definitions that can be compiled for the target. We know that is not the case always so we leverage the `disable_implicit_base` OpenMP context extension to specialize both versions of these functions without causing an invalid redeclaration.
Reviewed By: JonChesterfield, tra
Differential Revision: https://reviews.llvm.org/D85879
|
 | clang/test/Headers/openmp_device_math_isnan.cpp |
 | clang/test/Headers/Inputs/include/cmath |
 | clang/lib/Headers/__clang_cuda_cmath.h |
Commit
5c1084e8840b02d410ba125cbba466465242d820
by johannes[OpenMP] Context selector extensions for template functions
With this extension the effects of `omp begin declare variant` will be applied to template function declarations. The behavior is opt-in and controlled by the `extension(allow_templates)` trait. While generally useful, this will enable us to implement complex math function calls by overloading the templates of the standard library with the ones in libc++.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D85735
|
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Headers/openmp_wrappers/cmath |
 | clang/test/AST/ast-dump-openmp-begin-declare-variant_template_2.cpp |
 | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/include/clang/Basic/AttrDocs.td |
 | clang/lib/Parse/ParseOpenMP.cpp |
 | llvm/include/llvm/Frontend/OpenMP/OMPKinds.def |
Commit
56069b5c71ca78749aa983c1e9de6f1e4c049f4b
by johannes[OpenMP] Support `std::complex` math functions in target regions
The last (big) missing piece to get "math" working in OpenMP target regions (that I know of) was complex math functions, e.g., `std::sin(std::complex<double>)`. With this patch we overload the system template functions for these operations with versions that have been distilled from `libcxx/include/complex`. We use the same `omp begin/end declare variant` mechanism we use for other math functions before, except that we this time overload templates (via D85735).
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D85777
|
 | clang/lib/Headers/openmp_wrappers/complex |
 | clang/lib/Headers/openmp_wrappers/complex_cmath.h |
 | clang/lib/Headers/CMakeLists.txt |
 | clang/test/Headers/Inputs/include/complex |
 | clang/test/Headers/Inputs/include/type_traits |
 | clang/test/Headers/nvptx_device_math_complex.cpp |
Commit
91f503c3af190e19974f8832871e363d232cd64c
by Stanislav.Mekhanoshin[AMDGPU] gfx1030 RT support
Differential Revision: https://reviews.llvm.org/D87782
|
 | llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp |
 | llvm/include/llvm/IR/IntrinsicsAMDGPU.td |
 | llvm/test/MC/AMDGPU/gfx1030_new.s |
 | llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp |
 | llvm/lib/Target/AMDGPU/SIAddIMGInit.cpp |
 | llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp |
 | llvm/test/MC/Disassembler/AMDGPU/gfx1030_dasm_new.txt |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll |
 | llvm/test/MC/AMDGPU/gfx1011_err.s |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/MIMGInstructions.td |
 | llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp |
Commit
f80f2516a2697218eeb7af80de3b13c38f342987
by rahmanlRevert "[obj2yaml] - Match ".stack_size" with the original section name, and not the uniquified name."
This reverts commit 14e55f82980cf1342d4d3eea4885a5375e829496.
|
 | llvm/tools/obj2yaml/elf2yaml.cpp |
 | llvm/test/tools/obj2yaml/ELF/stack-sizes.yaml |
Commit
2240ca0bd1502d7baa098da7cb4aca64a6f979d4
by Abhina.Sreeskantharajan[SystemZ][z/OS] Set aligned allocation unavailable by default for z/OS
Aligned allocation is not supported on z/OS. This patch sets -faligned-alloc-unavailable as default in z/OS toolchain.
Reviewed By: abhina.sreeskantharajan, hubert.reinterpretcast
Differential Revision: https://reviews.llvm.org/D87611
|
 | clang/lib/Driver/ToolChains/ZOS.h |
 | clang/lib/Sema/SemaExprCXX.cpp |
 | clang/test/Driver/unavailable_aligned_allocation.cpp |
 | clang/test/SemaCXX/unavailable_aligned_allocation.cpp |
 | clang/include/clang/Basic/Attr.td |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/include/clang/Basic/AlignedAllocation.h |
 | clang/lib/Driver/ToolChains/ZOS.cpp |
 | clang/test/Lexer/aligned-allocation.cpp |
 | clang/lib/Basic/Targets/OSTargets.h |
Commit
15c378f6e641f34bb9fd3582f9cb83ff686101dc
by thakis[gn build] unconfuse sync script about "sources = []" in clang/lib/Headers/BUILD.gn
|
 | llvm/utils/gn/build/sync_source_lists_from_cmake.py |
Commit
6859d95ea2d0f3fe0de2923a3f642170e66a1a14
by michael.hliaoFix build.
|
 | llvm/lib/Passes/StandardInstrumentations.cpp |
Commit
94d912021ff35d33cde96dacd6f1db925fe9f2b8
by nikita.ppv[InstCombine] Add test for infinite combine loop (NFC)
Test courtesy of bkramer for the infinite combine loop introduced by D87480.
|
 | llvm/test/Transforms/InstCombine/select.ll |
Commit
0bb06f297fe52a5125952cb6f1e264b4e7c48097
by nikita.ppv[InstSimplify] Clarify SimplifyWithOpReplaced() return value
If SimplifyWithOpReplaced() cannot simplify the value, null should be returned. Make sure this really does happen in all cases, including those where SimplifyBinOp() returns the original value.
This does not matter for existing users, but does mattter for D87480, which would go into an infinite loop otherwise.
|
 | llvm/include/llvm/Analysis/InstructionSimplify.h |
 | llvm/lib/Analysis/InstructionSimplify.cpp |
Commit
222bf3ffbc8419570fc2266a2e7d1c5f58cedaa7
by nikita.ppvReapply [InstCombine] Simplify select operand based on equality condition
Reapply after fixing SimplifyWithOpReplaced() to never return the original value, which would lead to an infinite loop in this transform.
-----
For selects of the type X == Y ? A : B, check if we can simplify A by using the X == Y equality and replace the operand if that's possible. We already try to do this in InstSimplify, but will only fold if the result of the simplification is the same as B, in which case the select can be dropped entirely. Here the select will be retained, just one operand simplified.
As we are performing an actual replacement here, we don't have problems with refinement / poison values.
Differential Revision: https://reviews.llvm.org/D87480
|
 | llvm/test/Transforms/InstCombine/rem.ll |
 | llvm/test/Transforms/InstCombine/select-binop-cmp.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp |
 | llvm/test/Transforms/InstCombine/select.ll |
Commit
2a078a977e90481954eef69b489fac650ddbdaf6
by llvmgnsyncbot[gn build] Port 56069b5c71c
|
 | llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn |
Commit
ce0eb81c72749d1e96cfc6fb68af3c24b63753cc
by David A Greene[UpdateTestChecks] Allow $ in function names
Some compilers generation functions with '$' in their names, so recognize those functions.
This also requires recognizing function names inside quotes in some contexts in order to escape certain characters.
Differential Revision: https://reviews.llvm.org/D82995
|
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/lanai_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/lanai_function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/riscv_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/systemz-function-name.test |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/wasm_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/arm_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/arm-function-name.test |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/systemz_function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips_function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/arm_function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/hexagon_function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/lanai-function-name.test |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/msp430_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_test_checks/function-name.test |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/wasm_function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/systemz_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu-function-name.test |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/x86-function-name.test |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/hexagon-function-name.test |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/sparc-function-name.test |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/ppc-function-name.test |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/msp430_function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/ppc_function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/riscv_function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/sparc_function_name.ll |
 | llvm/utils/UpdateTestChecks/asm.py |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/mips-function-name.test |
 | llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/function_name.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/sparc_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/ppc_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/riscv-function-name.test |
 | llvm/utils/UpdateTestChecks/common.py |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/hexagon_function_name.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/msp430-function-name.test |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/wasm-function-name.test |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/aarch64-function-name.test |
Commit
7af4f44c3e3dfb4483fb4dcc200f9376e96d6208
by listmail[aarch64][tests] Add tests which show current lack of implicit null support
I will be posting a patch which adds appropriate target support shortly; landing the tests so that the diffs are clear.
|
 | llvm/test/CodeGen/AArch64/implicit-null-check.ll |
Commit
dee4686227842aa0e8380c7925049a5df9c4f781
by llvm-project [flang][msvc] Work around if constexpr (false) evaluation. NFC.
MSVC tries to expand templates that are in the false-branch of a `if constexpr` construct. In this case, the condition checks whether a tuple has at least one element and then is trying to access it using `std::get<0>`, which fails when the tuple has 0 elements.
The workaround is to extract that case into a separate method.
This patch is part of the series to make flang compilable with MS Visual Studio <http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html>.
Reviewed By: klausler
Differential Revision: https://reviews.llvm.org/D87728
|
 | flang/lib/Parser/basic-parsers.h |
Commit
65ef2e50a29630f9f0fba4899045c0058dacfcb0
by craig.topper[X86] Add test case for a masked load mask becoming all ones after type legalization.
We should be able to turn this into a unmasked load. X86 has an optimization to detect that the first and last element aren't masked and then turn the whole thing into an unmasked load and a blend. That transform is disabled on avx512 though.
But if we know the blend isn't needed, then the unmasked load by itself should always be profitable.
|
 | llvm/test/CodeGen/X86/masked_load.ll |
Commit
89ee4c0314bd08143d954d80bf7678d3a3ecc15a
by craig.topper[DAGCombiner] Teach visitMLOAD to replace an all ones mask with an unmasked load
If we have an all ones mask, we can just a regular masked load. InstCombine already gets this in IR. But the all ones mask can appear after type legalization.
Only avx512 test cases are affected because X86 backend already looks for element 0 and the last element being 1. It replaces this with an unmasked load and blend. The all ones mask is a special case of that where the blend will be removed. That transform is only enabled on avx2 targets. I believe that's because a non-zero passthru on avx2 already requires a separate blend so its more profitable to handle mixed constant masks.
This patch adds a dedicated all ones handling to the target independent DAG combiner. I've skipped extending, expanding, and index loads for now. X86 doesn't use index so I don't know much about it. Extending made me nervous because I wasn't sure I could trust the memory VT had the right element count due to some weirdness in vector splitting. For expanding I wasn't sure if we needed different undef handling.
Differential Revision: https://reviews.llvm.org/D87788
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/X86/masked_load.ll |
Commit
c57df3dc09e8b59c55c83ba5c354569a82a5c3b8
by phosek[lsan] Share platform allocator settings between ASan and LSan
This moves the platform-specific parameter logic from asan into sanitizer_common so lsan can reuse it.
Patch By: mcgrathr
Differential Revision: https://reviews.llvm.org/D85930
|
 | compiler-rt/lib/sanitizer_common/sanitizer_allocator.h |
 | compiler-rt/lib/lsan/lsan_allocator.h |
 | compiler-rt/lib/asan/asan_allocator.h |
Commit
e3fe203ec7f766ad6028144d266557b0d89b77fe
by phosekRevert "[lsan] Share platform allocator settings between ASan and LSan"
This reverts commit c57df3dc09e8b59c55c83ba5c354569a82a5c3b8 which broke Windows sanitizer bots.
|
 | compiler-rt/lib/asan/asan_allocator.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_allocator.h |
 | compiler-rt/lib/lsan/lsan_allocator.h |
Commit
9a0d1b66730c8761a5da59351bf1c7666958130b
by Lang Hames[ORC] Add operations to create and lookup JITDylibs to OrcV2 C bindings.
|
 | llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp |
 | llvm/include/llvm-c/Orc.h |
Commit
bebfc3b92d5e8dd1b1d75d40d5d03975957eec14
by akhuangRevert "Do not apply calling conventions to MSVC entry points"
This reverts commit 4cff1b40dacf6a5489b09657d94ea4757b8cd3b0.
Caused "undefined symbol: _WinMain@16" link errors.
|
 | clang/test/CodeGenCXX/default_calling_conv.cpp |
 | clang/lib/Sema/SemaDecl.cpp |
Commit
a45cdb311f6e71fdf5452a4be9037f3fb028f1d1
by Stanislav.Mekhanoshin[AMDGPU] gfx1030 test update. NFC.
|
 | llvm/test/MC/AMDGPU/smem.s |
Commit
cd13476ab57b43b66831bba14206a350c5a4a81b
by Vitaly Buka[NFC][LSAN] Change SuspendedThreadsList interface
Remove RegisterCount and let GetRegistersAndSP to resize buffer as needed.
Reviewed By: morehouse
Differential Revision: https://reviews.llvm.org/D87747
|
 | compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp |
 | compiler-rt/lib/lsan/lsan_common.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_mac.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp |
Commit
15f0ad2fa29beaf1dad1548ccb97c2c729ea53cd
by maskray[ELF] Bump the limit of thunk creation passes from 10 to 15
I have noticed that a 374MiB powerpc64le 'ld.lld' requires 11 passes to link. There is a ThunkSection (whose parent OutputSection is ".text" of 169MiB) with 12867 thunks.
|
 | lld/ELF/Writer.cpp |
Commit
aa2ba67a8137040b9146d0383c74f0b75ac9683a
by mtrofin[NFC][regalloc] type LiveInterval::reg() as Register
We have the Register type which precisely captures the role of this member. Storage-wise, it's an unsigned.
This helps readability & maintainability.
Differential Revision: https://reviews.llvm.org/D87768
|
 | llvm/include/llvm/CodeGen/LiveInterval.h |
Commit
b1cb9d6271263b197ba53cac28a0fc3bf27ec5b8
by rahmanl[obj2yaml] - Match ".stack_size" with the original section name, and not the uniquified name.
Without this patch, obj2yaml decodes the content of only one ".stack_size" section. Other sections are dumped with their full contents.
Reviewed By: grimar, MaskRay
Differential Revision: https://reviews.llvm.org/D87727
|
 | llvm/test/tools/obj2yaml/ELF/stack-sizes.yaml |
 | llvm/tools/obj2yaml/elf2yaml.cpp |
Commit
dd67581407c1693e43ac8a90b3a20c597614bda8
by rupprecht[lldb/test] Enable faulthandler in dotest
Register the `faulthandler` module so we can see what lldb tests are doing when they misbehave (e.g. run under a test runner that sets a timeout). This will print a stack trace for the following signals:
- `SIGSEGV`, `SIGFPE`, `SIGABRT`, `SIGBUS`, and `SIGILL` (via `faulthandler.enable()`) - `SIGTERM` (via `faulthandler.register(SIGTERM)`) [This is what our test runners sends when it times out].
The only signal we currently handle is `SIGINT` (via `unittest2.signals.installHandler()`) so there should be no overlap added by this patch.
Because this import is not available until python3, and the `register()` method is not available on Windows, this is enabled defensively.
This should have absolutely no effect when tests are passing (or even normally failing), but can be observed by running this while ninja is running:
``` kill -s SIGTERM $(ps aux | grep dotest.py | head -1 | awk '{print $2}') ```
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D87637
|
 | lldb/packages/Python/lldbsuite/test/dotest.py |
Commit
ee5519d323571c4a9a7d92cb817023c9b95334cd
by Yaxun.Liu[NFC] Refactor DiagnosticBuilder and PartialDiagnostic
PartialDiagnostic misses some functions compared to DiagnosticBuilder.
This patch refactors DiagnosticBuilder and PartialDiagnostic, extracts the common functionality so that the streaming << operators are shared.
Differential Revision: https://reviews.llvm.org/D84362
|
 | clang/include/clang/AST/DeclCXX.h |
 | clang/include/clang/AST/Type.h |
 | clang/include/clang/AST/NestedNameSpecifier.h |
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Basic/Diagnostic.cpp |
 | clang/include/clang/AST/Decl.h |
 | clang/lib/AST/TemplateName.cpp |
 | clang/include/clang/AST/Attr.h |
 | clang/include/clang/AST/CanonicalType.h |
 | clang/include/clang/Sema/Ownership.h |
 | clang/include/clang/AST/ASTContext.h |
 | clang/lib/AST/ASTContext.cpp |
 | clang/include/clang/AST/TemplateName.h |
 | clang/include/clang/AST/TemplateBase.h |
 | clang/lib/AST/DeclCXX.cpp |
 | clang/include/clang/Basic/Diagnostic.h |
 | clang/lib/AST/TemplateBase.cpp |
 | clang/include/clang/Basic/PartialDiagnostic.h |
 | clang/include/clang/Sema/ParsedAttr.h |
 | clang/include/clang/AST/DeclarationName.h |
Commit
23bef7ee9923b1262326981960397e8cd95d6923
by daniel.kiss[libunwind] Support for leaf function unwinding.
Unwinding leaf function is useful in cases when the backtrace finds a leaf function for example when it caused a signal. This patch also add the support for the DW_CFA_undefined because it marks the end of the frames.
Ryan Prichard provided code for the tests.
Reviewed By: #libunwind, mstorsjo
Differential Revision: https://reviews.llvm.org/D83573
|
 | libunwind/src/DwarfInstructions.hpp |
 | libunwind/test/lit.site.cfg.in |
 | libunwind/test/signal_unwind.pass.cpp |
 | libunwind/test/unwind_leaffunction.pass.cpp |
 | libunwind/src/DwarfParser.hpp |
Commit
dd3eb3f33239b23a12dd8864ae236390adf79550
by psteinfeld[flang] Substrings with lower bound greater than upper bound
According to section 9.4.1, paragraph 3, If the starting point is greater than the ending point, the substring has length zero
But the compilers code for substring processing was failing a call to `CHECK()` in this case. I fixed this by just setting the number of items in the resulting string to 0 for this situation.
Differential Revision: https://reviews.llvm.org/D87799
|
 | flang/test/Semantics/resolve49.f90 |
 | flang/lib/Evaluate/variable.cpp |
Commit
1321160a26e7e489baf9b10d6de90a342f898960
by jasonliuDisable a large test for EXPENSIVE_CHECKS and debug build
Summary: When running a large test in LLVM_ENABLE_EXPENSIVE_CHECKS=ON mode, buildbot could hit timeout. Disable the test when this mode is on. Also disable it for debug so that the test won't hang for too long.
Reviewed By: hubert.reinterpretcast
Differential Revision: https://reviews.llvm.org/D87794
|
 | llvm/test/CodeGen/PowerPC/aix-overflow-toc.py |
 | llvm/test/CMakeLists.txt |
 | llvm/test/lit.cfg.py |
 | llvm/test/lit.site.cfg.py.in |
Commit
95e43f84b7b9c61011aece7583c0367297dd67d8
by daniel.kiss[AArch64] Add -mmark-bti-property flag.
Writing the .note.gnu.property manually is error prone and hard to maintain in the assembly files. The -mmark-bti-property is for the assembler to emit the section with the GNU_PROPERTY_AARCH64_FEATURE_1_BTI. To be used when C/C++ is compiled with -mbranch-protection=bti.
This patch refactors the .note.gnu.property handling.
Reviewed By: chill, nickdesaulniers
Differential Revision: https://reviews.llvm.org/D81930
|
 | clang/include/clang/Driver/Options.td |
 | clang/test/Driver/arm64-markbti.S |
 | llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp |
 | llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp |
Commit
0c6a56e41dbeb9ffc47ca0b03357f15cb5d30689
by thakis[gn build] (manually) port 1321160a2
|
 | llvm/utils/gn/secondary/llvm/test/BUILD.gn |
Commit
4e4c89b22c3fc1200ee0d6d1074173c7c53d87bc
by michael.hliao[EarlyCSE] Simplify max/min pattern matching. NFC.
|
 | llvm/lib/Transforms/Scalar/EarlyCSE.cpp |
Commit
d89c5ae8577264f5dd660906f12577c5fdadf49e
by tianshilei1992[Flang] Fixed installation permission of the "binary" flang
Under current configuration, the permission of `flang` after installation is 700. This could bring a problem for system administrators who build and install flang for other users, which only the user who builds LLVM can execute it, and others can not. In this patch, the explicit permission setting in the `install` command is removed, and let CMake determine what perssion to be used like other components.
Reviewed By: DavidTruby
Differential Revision: https://reviews.llvm.org/D87783
|
 | flang/tools/f18/CMakeLists.txt |
Commit
5b205ff474120e086435724dc04f784b784fdd1a
by ogirouxCommenting out atomics with padding to unbreak MSAN tests
|
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_helpers.h |
Commit
60e244f82c1f97c1b7d65c06d2b0b4f634f8d696
by daniel.kissRevert "[AArch64] Add -mmark-bti-property flag."
This reverts commit 95e43f84b7b9c61011aece7583c0367297dd67d8.
|
 | clang/include/clang/Driver/Options.td |
 | llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h |
 | llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp |
 | clang/test/Driver/arm64-markbti.S |
 | llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp |
 | clang/lib/Driver/ToolChains/Clang.cpp |
Commit
f70baaf71f62ba8623b3522345527271add74f6b
by daniel.kiss[AArch64] Add -mmark-bti-property flag.
Writing the .note.gnu.property manually is error prone and hard to maintain in the assembly files. The -mmark-bti-property is for the assembler to emit the section with the GNU_PROPERTY_AARCH64_FEATURE_1_BTI. To be used when C/C++ is compiled with -mbranch-protection=bti.
This patch refactors the .note.gnu.property handling.
Reviewed By: chill, nickdesaulniers
Differential Revision: https://reviews.llvm.org/D81930
Reland with test dependency on aarch64 target.
|
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp |
 | clang/include/clang/Driver/Options.td |
 | clang/test/Driver/arm64-markbti.S |
 | llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp |
 | llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h |
Commit
e30371d99d5157ac9718c803dd1101f9cbb1b224
by craig.topper[DAGCombiner] Teach visitMSTORE to replace an all ones mask with an unmasked store.
Similar to what done in D87788 for MLOAD.
Again I've skipped indexed, truncating, and compressing stores.
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/X86/masked_store.ll |
Commit
344a3d0bc0fb0868b519c3342b4982d6121eece3
by asbirlea[MemorySSA] Rename uses in blocks with Phis.
Renaming should include blocks with existing Phis.
Resolves PR45927.
Differential Revision: https://reviews.llvm.org/D87661
|
 | llvm/lib/Analysis/MemorySSAUpdater.cpp |
 | llvm/test/Analysis/MemorySSA/pr45927.ll |
Commit
905b9ca26c94fa86339451a528cedde5004fc1bb
by richardCanonicalize declaration pointers when forming APValues.
References to different declarations of the same entity aren't different values, so shouldn't have different representations.
Recommit of e6393ee813178e9d3306b8e3c6949a4f32f8a2cb with fixed handling for weak declarations. We now look for attributes on the most recent declaration when determining whether a declaration is weak.
|
 | clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p9.cpp |
 | clang/lib/AST/Decl.cpp |
 | clang/lib/AST/ExprConstant.cpp |
 | clang/test/OpenMP/ordered_messages.cpp |
 | clang/lib/AST/APValue.cpp |
 | clang/lib/AST/DeclBase.cpp |
 | clang/include/clang/AST/APValue.h |
Commit
7337f296194483e0959ff980049e2835e226f396
by richardPR47555: Inheriting constructors are implicitly definable.
Don't forget to define them if they're constexpr and used inside a template; we might try to evaluate a call to them before the template is instantiated.
|
 | clang/test/SemaCXX/cxx11-inheriting-ctors.cpp |
 | clang/lib/Sema/SemaExpr.cpp |
Commit
f4ea0f98142a97666cd0478757570e819923a829
by aeubanks[NewPM] Port -print-alias-sets to NPM
Really it should be named print<alias-sets>, but for the sake of changing fewer tests, added a TODO to rename after NPM switch and test cleanup.
Reviewed By: ychen
Differential Revision: https://reviews.llvm.org/D87713
|
 | llvm/lib/Analysis/AliasSetTracker.cpp |
 | llvm/test/Analysis/AliasSet/guards.ll |
 | llvm/lib/Passes/PassRegistry.def |
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/include/llvm/Analysis/AliasSetTracker.h |
Commit
b04c1a9d3127730c05e8a22a0e931a12a39528df
by andrew_litteken[IRSim] Adding IR Instruction Mapper
This introduces the IRInstructionMapper, and the associated wrapper for instructions, IRInstructionData, that maps IR level Instructions to unsigned integers.
Mapping is done mainly by using the "isSameOperationAs" comparison between two instructions. If they return true, the opcode, result type, and operand types of the instruction are used to hash the instruction with an unsigned integer. The mapper accepts instruction ranges, and adds each resulting integer to a list, and each wrapped instruction to a separate list.
At present, branches, phi nodes are not mapping and exception handling is illegal. Debug instructions are not considered.
The different mapping schemes are tested in unittests/Analysis/IRSimilarityIdentifierTest.cpp
Differential Revision: https://reviews.llvm.org/D86968
|
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
 | llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
 | llvm/unittests/Analysis/CMakeLists.txt |
 | llvm/lib/Analysis/CMakeLists.txt |
Commit
b76f523be6ea606d9cf494e247546cec1cd7f209
by zhanghb97[mlir] expose affine map to C API
This patch provides C API for MLIR affine map. - Implement C API for AffineMap class. - Add Utils.h to include/mlir/CAPI/, and move the definition of the CallbackOstream to Utils.h to make sure mlirAffineMapPrint work correct. - Add TODO for exposing the C API related to AffineExpr and mutable affine map.
Differential Revision: https://reviews.llvm.org/D87617
|
 | mlir/include/mlir-c/AffineMap.h |
 | mlir/test/CAPI/ir.c |
 | mlir/lib/CAPI/IR/AffineMap.cpp |
 | mlir/lib/CAPI/IR/IR.cpp |
 | mlir/include/mlir/CAPI/Utils.h |
Commit
436a43afb2cf85ae6e61b4c1ac09e944a6566646
by llvmgnsyncbot[gn build] Port b04c1a9d312
|
 | llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn |
Commit
fb1abe00635c1ec28e55921709904d5ca2e86a74
by rprichard[libunwind][DWARF] Fix end of .eh_frame calculation
* When .eh_frame is located using .eh_frame_hdr (PT_GNU_EH_FRAME), the start of .eh_frame is known, but not the size. In this case, the unwinder must rely on a terminator present at the end of .eh_frame. Set dwarf_section_length to UINTPTR_MAX to indicate this.
* Add a new field, text_segment_length, that the FrameHeaderCache uses to track the size of the PT_LOAD segment indicated by dso_base.
* Compute ehSectionEnd by adding sectionLength to ehSectionStart, never to fdeHint.
Fixes PR46829.
Differential Revision: https://reviews.llvm.org/D87750
|
 | libunwind/src/UnwindCursor.hpp |
 | libunwind/src/DwarfParser.hpp |
 | libunwind/src/AddressSpace.hpp |
 | libunwind/test/frameheadercache_test.pass.cpp |
 | libunwind/src/FrameHeaderCache.hpp |
Commit
5782ab0f52db1b1914d8ee5fe3828b0a5de9d685
by czhengsz[MachineSink] add one more mir case - nfc
|
 | llvm/test/CodeGen/PowerPC/sink-down-more-instructions-1.mir |
Commit
ebfbdebe9678f4a42ec35396eb517eefd85d2b4c
by qiucofan[PowerPC] Fix store-fptoi combine of f128 on Power8
llc would crash for (store (fptosi-f128-i32)) when -mcpu=pwr8, we should not generate FP_TO_(S|U)INT_IN_VSR for f128 types at this time. This patch fixes it.
Reviewed By: steven.zhang
Differential Revision: https://reviews.llvm.org/D86686
|
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/test/CodeGen/PowerPC/store_fptoi.ll |