- Feb 01, 2021
-
-
Luís Marques authored
Fixes the broken RISCV64 implementation of `internal_clone` and adds RISCV64 support for LSan. Differential Revision: https://reviews.llvm.org/D92403
-
Florian Hahn authored
This patch removes some options that have been duplicated in LTOCodeGenerator and instead use lto::Config directly to manage the options. This is a cleanup after 6a59f056. Reviewed By: tejohnson Differential Revision: https://reviews.llvm.org/D95738
-
Florian Hahn authored
Pre-commit test coverage for conditions with EQ predicates.
-
Michał Górny authored
Introduce a NativeRegisterContextFreeBSD for 32-bit ARM platform. This includes support for GPR + VFP registers as exposed by FreeBSD's ptrace(2) API. Hardware breakpoints or watchpoints are not supported due to missing kernel support. The code is roughly based on the arm64 context. It also includes an override for GetSoftwareBreakpointTrapOpcode() based on the matching code in the PlatformFreeBSD plugin. Differential Revision: https://reviews.llvm.org/D95696
-
Michał Górny authored
Introduce arm64 support in the FreeBSDRemote plugin. The code is roughly based on Linux and reuses the same POSIX RegisterInfos (but the buffers need to be a few bytes larger due to stricter struct member alignment in FreeBSD structures -- luckily, they do not affect the actual member offsets). It supports reading and writing general-purpose and FPU registers. SVE and hardware watchpoint support is missing due to the limitations of FreeBSD ptrace(2) API. Differential Revision: https://reviews.llvm.org/D95297
-
Kazu Hirata authored
Identified with const-return-type.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Matt Arsenault authored
With a context instruction, this would produce a context error. However, it would continue on and do an out of bounds access of the empty allocation order array.
-
- Jan 31, 2021
-
-
Matt Arsenault authored
-
Sam McCall authored
... but don't apply it where we're using hasSubstr This reverts commit 7a8008d0.
-
Sam McCall authored
This reverts commit 0962f1d7. http://45.33.8.238/win/32346/step_9.txt
-
Alexey Lapshin authored
[dsymutil][DWARFLinker][NFC] make AddressManager not depending on the order of checks for relocations. Current dsymutil implementation of hasLiveMemoryLocation()/hasLiveAddressRange() and applyValidRelocs() assume that calls should be done in certain order (from first Dies to last). Multi-thread implementation might call these methods in other order(it might process compilation units in order other than they are physically located), so we remove restriction that searching for relocations should be done in ascending order. This change does not introduce noticable performance degradation. The testing results for clang binary: golden-dsymutil/dsymutil 23787992 clang MD5: 5efa8fd9355ebf81b65f24db5375caa2 elapsed time=91sec build-Release/bin/dsymutil 23855616 clang MD5: 5efa8fd9355ebf81b65f24db5375caa2 elapsed time=91sec Differential Revision: https://reviews.llvm.org/D93106
-
Mark de Wever authored
After committing D92214 it was noticed libc++ no longer builds with C++17. For now reenable building with C++17. This is intended to be a temporary measure in the future a C++20 capable compiler will be required.
-
Sam McCall authored
-
-
Sam McCall authored
See confusion e.g. in https://github.com/clangd/clangd/issues/637
-
Craig Topper authored
-
Matthias Springer authored
The result values of vp2intersect are vectors of bits, i.e., vector<8xi1> or vector<16xi8> (instead of i8 or i16). Differential Revision: https://reviews.llvm.org/D95678
-
peter klausler authored
Analyze the shape of the result of TRANSFER(ptr,array) correctly when "ptr" is an array of deferred shape. Fixing this bug led to some refactoring and concentration of common code in TypeAndShape member functions with code in general shape and character length analysis, and this led to some regression test failures that have all been cleaned up. Differential Revision: https://reviews.llvm.org/D95744
-
Craig Topper authored
All this code runs post type legalization so we should have exclusively legal types. The methods on MVT should be more efficient than EVT.
-
Craig Topper authored
[TableGen] Use emplace_back to add to PatternsToMatch in GenerateVariants. Use std::move when adding to PatternsToMatch in AddPatternToMatch. We already used emplace_back in at least one other place so be consistent. AddPatternToMatch already took PTM as an rvalue reference, but we need to use std::move again to move it into the PatternToMatch vector.
-
Craig Topper authored
Use vector::swap instead of copying to a local vector and clearing the original. We can just swap into the just created local vector instead which will move the pointers and not the data. Use std::move in another place to avoid a copy.
-
Shilei Tian authored
This patch refines the logic to choose compute capabilites via the environment variable `LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES`. It supports the following values (all case insensitive): - "all": Build `deviceRTLs` for all supported compute capabilites; - "auto": Only build for the compute capability auto detected. Note that this requires CUDA. If CUDA is not found, a CMake fatal error will be raised. - "xx,yy" or "xx;yy": Build for compute capabilities `xx` and `yy`. If `LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES` is not set, it is equivalent to set it to `all`. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D95687
-
Florian Hahn authored
After the main loop is done, we should have one constraint per item in DFSInStack. Otherwise we added a constraint without a proper DFSInStack item.
-
Kazu Hirata authored
Identified with llvm-header-guard.
-
Kazu Hirata authored
AMDGPUTargetTransformInfo.h needs AMDGPUTargetMachine but relies on a forward declaration of AMDGPUTargetMachine in AMDGPU.h. This patch adds a forward declaration right in AMDGPUTargetTransformInfo.h. While we are at it, this patch removes the one in AMDGPU.h, where it is unnecessary.
-
Kazu Hirata authored
-
Stephen Kelly authored
-
- Jan 30, 2021
-
-
Fraser Cormack authored
This demonstrates a missed optimization: the `vmv.x.s` instruction is used to extract the element from the vector, and this instruction already sign-extends the value to XLEN.
-
Georgii Rymar authored
Fixes https://bugs.llvm.org/show_bug.cgi?id=48882. If the input file does not exist (or has a reading error), the following code will crash if there are two or more input addresses. ``` auto ResOrErr = Symbolizer.symbolizeInlinedCode( ModuleName, {Offset, object::SectionedAddress::UndefSection}); Printer << (error(ResOrErr) ? DILineInfo() : ResOrErr.get().getFrame(0)); ``` For the first address, `symbolizeInlinedCode` returns an error. For the second address, `symbolizeInlinedCode` returns an empty result (not an error) and `.getFrame(0)` will crash. Differential revision: https://reviews.llvm.org/D95609
-
Stephen Kelly authored
Differential Revision: https://reviews.llvm.org/D95607
-
Florian Hahn authored
This patch fixes updating MemorySSA if the header contains memory defs that do not clobber a duplicated instruction. We need to find the first defining access outside the loop body and use that as defining access of the duplicated instruction. This fixes a crash caused by bee48685.
-
Stephen Kelly authored
Differential Revision: https://reviews.llvm.org/D95562
-
Harald van Dijk authored
D36116 refactored the logic of tests and removed the definition of TARGET_FLAGS, but left one use of it. Restore its definition for that one use, so that an x86_64 test is compiled with -m64. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D93634
-
Florian Hahn authored
This patch adds an option to enable the new pass manager in LTOCodeGenerator. It also updates a few tests with legacy PM specific tests, which started failing after 6a59f056 when LLVM_ENABLE_NEW_PASS_MANAGER=true.
-
Florian Hahn authored
This patch updates LTOCodeGenerator to use the utilities provided by LTOBackend to run middle-end optimizations and backend code generation. This is a first step towards unifying the code used by libLTO's C API and the newer, C++ interface (see PR41541). The immediate motivation is to allow using the new pass manager when doing LTO using libLTO's C API, which is used on Darwin, among others. With the changes, there are no codegen/stats differences when building MultiSource/SPEC2000/SPEC2006 on Darwin X86 with LTO, compared to without the patch. Reviewed By: steven_wu Differential Revision: https://reviews.llvm.org/D94487
-
Fangrui Song authored
This has been fixed by D89841.
-
Kazu Hirata authored
-
Kazu Hirata authored
-