Commit
6bb123b819c61c61197ec2ba54ceb6d16e9121cf
by pavel[lldb] Modernize PseudoTerminal::OpenFirstAvailablePrimary
replace char*+length combo with llvm::Error
|
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp |
 | lldb/source/Host/common/PseudoTerminal.cpp |
 | lldb/unittests/Editline/CMakeLists.txt |
 | lldb/unittests/Editline/EditlineTest.cpp |
 | lldb/unittests/Host/MainLoopTest.cpp |
 | lldb/include/lldb/Host/PseudoTerminal.h |
 | lldb/source/Host/common/ProcessLaunchInfo.cpp |
Commit
2c4226f8ac2c925d7e1d59d1de1660cd1dd63f31
by pavel[lldb-server][linux] Add ability to allocate memory
This patch adds support for the _M and _m gdb-remote packets, which (de)allocate memory in the inferior. This works by "injecting" a m(un)map syscall into the inferior. This consists of: - finding an executable page of memory - writing the syscall opcode to it - setting up registers according to the os syscall convention - single stepping over the syscall
The advantage of this approach over calling the mmap function is that this works even in case the mmap function is buggy or unavailable. The disadvantage is it is more platform-dependent, which is why this patch only works on X86 (_32 and _64) right now. Adding support for other linux architectures should be easy and consist of defining the appropriate syscall constants. Adding support for other OSes depends on the its ability to do a similar trick.
Differential Revision: https://reviews.llvm.org/D89124
|
 | lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp |
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h |
 | lldb/unittests/TestingSupport/Host/NativeProcessTestUtils.h |
 | lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp |
 | lldb/test/API/tools/lldb-server/memory-allocation/Makefile |
 | lldb/test/Shell/Expr/nodefaultlib.cpp |
 | lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h |
 | lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp |
 | lldb/source/Plugins/Process/Linux/NativeProcessLinux.h |
 | lldb/test/API/tools/lldb-server/memory-allocation/main.c |
 | lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h |
 | lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.h |
 | lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.h |
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp |
 | lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py |
 | lldb/include/lldb/Host/common/NativeProcessProtocol.h |
 | lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp |
 | lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp |
 | lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h |
 | lldb/test/API/tools/lldb-server/memory-allocation/TestGdbRemoteMemoryAllocation.py |
Commit
7ee6c402474a2f5fd21c403e7529f97f6362fdb3
by lebedev.riRevert "Reland "[SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but as zext/trunc/self of SCEVUnknown"" and it's follow-ups
While we haven't encountered an earth-shattering problem with this yet, by now it is pretty evident that trying to model the ptr->int cast implicitly leads to having to update every single place that assumed no such cast could be needed. That is of course the wrong approach.
Let's back this out, and re-attempt with some another approach, possibly one originally suggested by Eli Friedman in https://bugs.llvm.org/show_bug.cgi?id=46786#c20 which should hopefully spare us this pain and more.
This reverts commits 1fb610429308a7c29c5065f5cc35dcc3fd69c8b1, 7324616660fc0995fa8c166e3c392361222d5dbc, aaafe350bb65dfc24c2cdad4839059ac81899fbe, e92a8e0c743f83552fac37ecf21e625ba3a4b11e.
I've kept&improved the tests though.
|
 | llvm/test/Analysis/ScalarEvolution/ptrtoint.ll |
 | llvm/test/CodeGen/ARM/lsr-undef-in-binop.ll |
 | llvm/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.ll |
 | llvm/test/Analysis/ScalarEvolution/no-wrap-add-exprs.ll |
 | llvm/test/CodeGen/X86/ragreedy-hoist-spill.ll |
 | llvm/test/Analysis/ScalarEvolution/ptrtoint-constantexpr-loop.ll |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
 | llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll |
 | llvm/unittests/Analysis/IVDescriptorsTest.cpp |
 | polly/test/Isl/CodeGen/scev_looking_through_bitcasts.ll |
 | llvm/lib/Transforms/Utils/SimplifyIndVar.cpp |
Commit
e6b4179c5d282905a8ad17c57153b991c42d1126
by hokein.wuFix a broken build for gcc <= 7.1
we need add a "this->" inside the lambda body to workaround it. Rewrite it to normal for-range loop.
|
 | clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp |
Commit
c4e7857d4eaccbd23cdc155486d5c276c8d66ebd
by jeremy.morse[DebugInstrRef] Create DBG_INSTR_REFs in SelectionDAG
When given the -experimental-debug-variable-locations option (via -Xclang or to llc), have SelectionDAG generate DBG_INSTR_REF instructions instead of DBG_VALUE. For now, this only happens in a limited circumstance: when the value referred to is not a PHI and is defined in the current block. Other situations introduce interesting problems, addresed in later patches.
Practically, this patch hooks into InstrEmitter and if it can find a defining instruction for a value, gives it an instruction number, and points the DBG_INSTR_REF at that <instr, operand> pair.
Differential Revision: https://reviews.llvm.org/D85747
|
 | llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h |
 | llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp |
 | llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp |
 | llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp |
 | llvm/test/DebugInfo/X86/instr-ref-selectiondag.ll |
Commit
6756d43af97ea39722af14504b286e302955c6b5
by paulsson[SystemZ] Bugfix in SystemZVectorConstantInfo
In order to correctly load an all-ones FP NaN value into a floating point register with a VGBM, the analyzed 32/64 FP bits must first be shifted left (into element 0 of the vector register).
SystemZVectorConstantInfo has so far relied on element replication which has bypassed the need to do this shift, but now it is clear that this must be done in order to handle NaNs.
Review: Ulrich Weigand
Differential Revision: https://reviews.llvm.org/D89389
|
 | llvm/lib/Target/SystemZ/SystemZISelLowering.cpp |
 | llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll |
 | llvm/test/CodeGen/SystemZ/fp-const-12.ll |
Commit
25a97c3a43d7bc469ec67dd4e901a507b9b11116
by llvm-dev[InstCombine] visitCallInst - retain undefs in vector funnel shift amounts
By always performing a modulo on the shift amount constants this was causing undef amounts being replaced with zero, meaning we were losing funnel shift by splat (with undef) patterns.
Tweaked the shift amount bounds check to support (passthrough) undefs, and use Constant::mergeUndefsWith to preserve the undefs after folding.
|
 | llvm/test/Transforms/InstCombine/funnel.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp |
 | llvm/test/Transforms/InstCombine/rotate.ll |
Commit
d38277dbcf38826dde6dff39cd9854f41eab6357
by nicolas.vasilache[mlir][Linalg] Add missing dependency
|
 | mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt |
Commit
3ea4ccd857c3ab83aff9dcceeb82c33681658a32
by eschweitz[mlir] expand the legal floating-point types in the LLVM IR dialect type check
This patch adds a couple missing LLVM IR dialect floating point types to the legality check.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D89350
|
 | mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td |
 | mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h |
Commit
b21ad3b66bce942ee6e0f5b1fcfdea31928005a7
by michael.hliaoFix `-Wparentheses` warnings. NFC.
|
 | clang/lib/Sema/SemaExpr.cpp |
Commit
41d85fe0e168bf1e846e582a95f82ff8ecaf7c28
by Louis Dionne[libc++] Remove signal-based checkpoints in libc++ tests
While this adds some convenience to the test suite, it prevents the tests using these checkpoints from being used on systems where signals are not available, such as some embedded systems. It will also prevent these tests from being constexpr-friendly once e.g. std::map is made constexpr, due to the use of statics.
Instead, one can always use a debugger to figure out exactly where a test is failing when that isn't clear from the log output without checkpoints.
|
 | libcxx/test/std/containers/map_allocator_requirement_test_templates.h |
 | libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp |
 | libcxx/test/libcxx/debug/containers/db_string.pass.cpp |
 | libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp |
 | libcxx/test/support/assert_checkpoint.h |
 | libcxx/test/std/containers/set_allocator_requirement_test_templates.h |
 | libcxx/test/support/debug_mode_helper.h |
 | libcxx/test/support/container_debug_tests.h |
 | libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp |
Commit
94d9a4fd886d6760a95fff89ad5c00264e18de4f
by jperier[flang] Rework host runtime folding and enable REAL(2) folding with it.
- Rework the host runtime table so that it is constexpr to avoid having to construct it and to store/propagate it. - Make the interface simpler (remove many templates and a file) - Enable 16bits float folding using 32bits float host runtime - Move StaticMultimapView into its own header to use it for host folding
Reviewed By: klausler, PeteSteinfeld
Differential Revision: https://reviews.llvm.org/D88981
|
 | flang/lib/Evaluate/intrinsics-library.cpp |
 | flang/test/Evaluate/folding02.f90 |
 | flang/lib/Evaluate/fold-real.cpp |
 | flang/lib/Evaluate/host.h |
 | flang/unittests/Evaluate/folding.cpp |
 | flang/lib/Evaluate/fold-implementation.h |
 | flang/runtime/pgmath.h.inc |
 | flang/include/flang/Evaluate/common.h |
 | flang/lib/Lower/IntrinsicCall.cpp |
 | flang/include/flang/Common/static-multimap-view.h |
 | flang/lib/Evaluate/fold-complex.cpp |
 | flang/include/flang/Evaluate/intrinsics-library.h |
 | flang/lib/Evaluate/intrinsics-library-templates.h |
Commit
421f1b7294ef4dbe8f02d83fcd3b9eb604465bf5
by mcinally[SVE] Lower fixed length VECREDUCE_FADD operation
Differential Revision: https://reviews.llvm.org/D89263
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll |
Commit
ea3a547f0be20d86b041778ae8e2779f2031f714
by pavel[lldb] Remove bogus ProcessMonitor forward-decls
This class is not used in those files.
|
 | lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h |
 | lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.h |
 | lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.h |
 | lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h |
 | lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h |
 | lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h |
Commit
36f22cd28d5e57c197ea374048a06dbdc5a08214
by pavel[lldb] Fix TestGdbRemoteMemoryAllocation on windows
It appears that memory allocation actually works on windows (but it was not fully wired up before 2c4226f8).
|
 | lldb/test/API/tools/lldb-server/memory-allocation/TestGdbRemoteMemoryAllocation.py |
Commit
5502bd66bb97f7cf3888a869b73091c51fdbba4c
by calixte.denizet[profile] Remove useless msync when dumping gcda files
Summary: According the mmap man page (https://man7.org/linux/man-pages/man2/mmap.2.html) is only required to precisely control updates, so we can safely remove it. Since gcda files are dumped just before to call exec** functions, dump need to be fast. On my computer, Firefox built with --coverage needs ~1min40 to display something and in removing msync it needs ~8s.
Reviewers: void
Subscribers: #sanitizers, marco-c, sylvestre.ledru
Tags: #sanitizers
Differential Revision: https://reviews.llvm.org/D81060
|
 | compiler-rt/lib/profile/GCDAProfiling.c |
Commit
89a2a478708fb8821fb88ef3053e8d6bb5b59e08
by llvm-dev[InstCombine] Add m_SpecificIntAllowUndef pattern matcher
m_SpecificInt doesn't accept undef elements in a vector splat value - tweak specific_intval to optionally allow undefs and add the m_SpecificIntAllowUndef variants.
Allows us to remove the m_APIntAllowUndef + comparison hack inside matchFunnelShift
|
 | llvm/include/llvm/IR/PatternMatch.h |
 | llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp |
Commit
cba533febc1e8a82f98f7ff5e0d083f57f865d26
by gchateletFix conjuntion of -Werror,-Wsuggest-override with google/benchmark
|
 | libc/benchmarks/CMakeLists.txt |
Commit
acb7827d6217000541c5c0ce2b03049e4f49d23f
by kevin.petit[mlir][vulkan-runner] Fix buffer usage flags
The buffers are used as source or destination of transfer commands so always add VK_BUFFER_USAGE_TRANSFER_{DST,SRC}_BIT to their usage flags.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
|
 | mlir/tools/mlir-vulkan-runner/VulkanRuntime.cpp |
Commit
ae40d2858e206eaa07ea5c2a032b3c6c50918d1b
by michael.hliaoFix an apparent typo. `assert()` must not contain side-effects. NFC.
|
 | llvm/lib/CodeGen/StackMaps.cpp |